@import url("https://fonts.googleapis.com/css2?family=Lora:wght@400;700&family=Inter:wght@400;500;600;700&display=swap");body{font-family:"Inter",sans-serif;background-color:#F8FAFC;color:#1E293B;margin:0;line-height:1.6}.container{max-width:960px;margin:0 auto;padding:0 1.5rem}.site-header{background-color:rgba(255,255,255,0.8);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10;border-bottom:1px solid #E2E8F0}.site-header nav{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;padding-bottom:1rem}.site-header .site-title{font-family:"Lora",serif;font-size:1.5rem;font-weight:700;color:#0F172A;text-decoration:none}.site-header .nav-links{display:flex}.site-header .nav-links a{font-size:1.125rem;color:#475569;text-decoration:none;margin-left:2rem;padding-bottom:0.25rem;transition:color 0.3s}.site-header .nav-links a:hover{color:#0F172A}.site-header .nav-links a.active{font-weight:600;color:#0F172A}.site-header .menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:0.5rem}@media (max-width: 768px){.site-header .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background-color:#fff;flex-direction:column;padding:1rem 0;box-shadow:0 4px 6px -1px rgba(0,0,0,0.1)}.site-header .nav-links a{margin:0;padding:1rem 0;text-align:center;border-bottom:none}.site-header .nav-links.nav-open{display:flex}.site-header .menu-toggle{display:block}}main{padding-top:3rem;padding-bottom:3rem}.section-title{font-family:"Lora",serif;font-size:1.5rem;font-weight:700;color:#1E293B;border-left:4px solid #64748B;padding-left:1rem;margin-bottom:1.5rem}.home .intro-section{display:flex;align-items:flex-start;margin-bottom:3rem;flex-wrap:wrap;margin-top:4rem}.home .intro-image{flex-shrink:0;margin-right:3rem;text-align:center}.home .profile-photo{width:12rem;height:12rem;border-radius:0.75rem;box-shadow:0 10px 15px -3px rgba(0,0,0,0.1);border:4px solid #fff;object-fit:cover;object-position:center 20%}.home .name{font-family:"Lora",serif;font-size:2.25rem;font-weight:700;margin:1.5rem 0 0.5rem}.home .title{font-size:1.25rem;color:#475569;margin-bottom:1.5rem}.button{display:inline-flex;align-items:center;padding:0.75rem 1.5rem;background-color:#334155;color:#fff;text-decoration:none;font-weight:600;border-radius:0.5rem;transition:background-color 0.3s}.button i,.button svg{margin-right:0.5rem}.button:hover{background-color:#1E293B}.action-row{margin-top:2rem;display:flex;align-items:center;gap:1.5rem}.social-links{display:flex;align-items:center;gap:1.25rem}.social-links a{color:#64748B;font-size:1.5rem;display:inline-block;transition:color 0.3s ease, transform 0.3s ease}.social-links a:hover{color:#0F172A;transform:translateY(-2px)}.page-header{margin-bottom:2.5rem}.page-header h1{font-family:"Lora",serif;font-size:2.5rem;font-weight:700;color:#0F172A;margin:0 0 0.5rem}.page-header p{font-family:"Inter",sans-serif;font-size:1.125rem;color:#475569;max-width:60ch;margin:0}.projects-page .search-container{position:relative;margin-bottom:3rem;max-width:768px}.projects-page .search-icon{position:absolute;top:50%;left:1rem;transform:translateY(-50%);color:#64748B;pointer-events:none}.projects-page .search-input{width:100%;box-sizing:border-box;padding:0.75rem 1rem 0.75rem 3rem;font-size:1rem;border:1px solid #CBD5E1;border-radius:0.5rem;background-color:#fff;transition:border-color 0.3s, box-shadow 0.3s}.projects-page .search-input:focus{outline:none;border-color:#64748B;box-shadow:0 0 0 3px rgba(100,116,139,0.1)}.projects-page .project-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:stretch}@media (min-width: 640px){.projects-page .project-grid{grid-template-columns:repeat(2, 1fr)}}@media (min-width: 960px){.projects-page .project-grid{grid-template-columns:repeat(3, 1fr)}}.projects-page .project-card{background:#fff;border:1px solid #E2E8F0;border-radius:0.75rem;display:flex;flex-direction:column;transition:transform 0.3s, box-shadow 0.3s, border-color 0.3s}.projects-page .project-card .card-link{text-decoration:none;color:inherit;display:flex;flex-direction:column;flex-grow:1;padding:1.5rem}.projects-page .project-card:hover{transform:translateY(-5px);box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);border-color:#CBD5E1}.projects-page .project-card .card-content{flex-grow:1}.projects-page .project-card .card-title{font-family:"Lora",serif;font-size:1.25rem;font-weight:700;color:#0F172A;margin:0 0 0.75rem}.projects-page .project-card .card-description{font-family:"Inter",sans-serif;color:#475569;margin-bottom:1.5rem;font-size:0.95rem}.projects-page .project-card .project-tags{display:flex;flex-wrap:wrap;gap:0.5rem}.projects-page .project-card .project-tag{background-color:#E2E8F0;color:#334155;font-size:0.75rem;font-weight:500;padding:0.25rem 0.75rem;border-radius:9999px}.post-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #E2E8F0}.post-title{font-family:"Lora",serif;font-size:2.5rem;margin:0 0 0.5rem}.post-meta{color:#64748B;margin-bottom:0.5rem}.post-content h3{font-family:"Lora",serif;color:#1E293B;margin-top:2rem}.back-link{display:inline-flex;align-items:center;margin-bottom:2rem;color:#475569;text-decoration:none}.back-link i{margin-right:0.5rem}.back-link:hover{color:#0F172A}.site-footer{border-top:1px solid #E2E8F0;background:#fff;padding:1.5rem 0;text-align:center;color:#64748B}.site-footer p{margin:0}.site-footer .made-with{font-size:0.875rem;margin-top:0.5rem}.skills-container{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 768px){.skills-container{grid-template-columns:1fr 1fr}}.skill-card{background:#fff;border:1px solid #E2E8F0;border-radius:0.5rem;padding:1.5rem}.skill-category{font-family:"Lora",serif;font-size:1.125rem;margin:0 0 1rem}.skill-items{display:flex;flex-wrap:wrap;gap:0.5rem}.skill-tag{background:#E2E8F0;color:#334155;font-size:0.875rem;font-weight:500;padding:0.25rem 0.75rem;border-radius:9999px}.timeline{position:relative;padding-left:1.5rem;border-left:2px solid #CBD5E1}.timeline-item{position:relative;margin-bottom:2rem}.timeline-item:last-child{margin-bottom:0}.timeline-dot{position:absolute;left:-2.05rem;top:0.25rem;width:1rem;height:1rem;background:#fff;border:2px solid #64748B;border-radius:50%}.job-title{font-family:"Lora",serif;font-size:1.25rem;margin:0}.job-title .company{font-family:"Inter",sans-serif;font-weight:400;color:#475569}.period{color:#64748B;font-size:0.875rem;margin:0.25rem 0 0.5rem}.job-description{margin-bottom:0.75rem}.achievements{list-style-type:disc;padding-left:1.25rem;margin:0}.achievements li{margin-bottom:0.25rem}.grid-2-col{display:grid;grid-template-columns:1fr;gap:3rem}@media (min-width: 768px){.grid-2-col{grid-template-columns:1fr 1fr}}.education-item,.publication-item{margin-bottom:1.5rem}.degree,.pub-title{font-family:"Lora",serif;font-size:1.125rem;font-weight:600;margin:0}.university,.journal{color:#475569;margin:0.25rem 0}.notes{font-style:italic;color:#64748B;margin:0}.not-found-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem}.not-found-container .not-found-wrapper{width:100%;max-width:80rem;margin:0 auto}.not-found-container .not-found-grid{display:grid;grid-template-columns:1fr;align-items:center;gap:2rem}.not-found-container .not-found-text{text-align:center}.not-found-container .not-found-subtitle{font-size:1.125rem;font-weight:600;color:#475569;margin-bottom:0.5rem}.not-found-container .not-found-title{font-family:"Lora",serif;font-size:2.25rem;font-weight:700;color:#0F172A;letter-spacing:-0.025em;margin-bottom:1rem}.not-found-container .not-found-description{color:#475569;margin-bottom:2rem;max-width:32rem;margin-left:auto;margin-right:auto}.not-found-container .not-found-image-container{display:flex;align-items:center;justify-content:center}.not-found-container .not-found-image{width:100%;max-width:28rem;border-radius:0.5rem;box-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 8px 10px -6px rgba(0,0,0,0.1)}@media (min-width: 768px){.not-found-container{padding-top:6.5rem;padding-bottom:8rem}.not-found-container .not-found-grid{grid-template-columns:repeat(2, minmax(0, 1fr));gap:4rem}.not-found-container .not-found-text{text-align:left}.not-found-container .not-found-title{font-size:3rem}.not-found-container .not-found-description{margin-left:0;margin-right:0}}
