*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh}.hero{min-height:90vh;display:flex;align-items:center;background-color:#fff}.hero-container{max-width:1280px;margin:0 auto;padding:5rem 1.5rem}.hero-content{max-width:48rem;text-align:left}.hero-title{font-size:2.5rem;color:#111827;margin-bottom:1rem;line-height:1.2}.hero-subtitle{font-size:1.5rem;color:#1e40af;margin-bottom:1.5rem}.hero-description{font-size:1.125rem;color:#4b5563;margin-bottom:2rem;max-width:42rem;line-height:1.6}.hero-buttons{display:flex;flex-wrap:wrap;gap:1rem}.hero-button-primary{display:inline-flex;align-items:center;gap:.5rem;background-color:#0891b2;color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;border:none;cursor:pointer;font-size:1rem;transition:background-color .3s ease;text-decoration:none}.hero-button-primary:hover{background-color:#0e7490}.hero-button-secondary{display:inline-flex;align-items:center;gap:.5rem;border:1px solid #d1d5db;color:#374151;padding:.75rem 1.5rem;border-radius:.5rem;background-color:transparent;cursor:pointer;font-size:1rem;transition:background-color .3s ease;text-decoration:none}.hero-button-secondary:hover{background-color:#f9fafb}@media(min-width:768px){.hero-title{font-size:3rem}}@media(min-width:1024px){.hero-title{font-size:3.75rem}.hero-subtitle{font-size:1.875rem}}.about{padding:5rem 0;background-color:#f9fafb}.about-container{max-width:1280px;margin:0 auto;padding:0 1.5rem;background-color:#f9fafb}.about-title{font-size:2rem;color:#111827;margin-bottom:2rem}.about-content{max-width:48rem}.about-text{font-size:1.125rem;color:#374151;line-height:1.7}@media(min-width:768px){.about-title{font-size:2.25rem}}.projects{padding:5rem 0;background-color:#f9fafb}.projects-container{max-width:1280px;margin:0 auto;padding:0 1.5rem}.projects-title{font-size:2rem;color:#111827;margin-bottom:3rem}.projects-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.project-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem;transition:box-shadow .3s ease}.project-card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.project-title{font-size:1.25rem;color:#111827;margin-bottom:.75rem}.project-description{color:#4b5563;margin-bottom:1rem}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.project-tech-tag{font-size:.875rem;background-color:#f3f4f6;color:#374151;padding:.25rem .75rem;border-radius:.25rem}.project-links{display:flex;gap:1rem}.project-link{display:inline-flex;align-items:center;gap:.5rem;color:#374151;text-decoration:none;transition:color .3s ease}.project-link:hover{color:#0891b2}@media(min-width:768px){.projects-title{font-size:2.25rem}.projects-grid{grid-template-columns:repeat(2,1fr)}}.contact{padding:5rem 0;background-color:#f9fafb}.contact-container{max-width:1280px;margin:0 auto;padding:0 1.5rem}.contact-title{font-size:2rem;color:#111827;margin-bottom:3rem}.contact-grid{display:grid;grid-template-columns:1fr;gap:3rem;max-width:80rem}.contact-info{display:flex;flex-direction:column;gap:1.5rem}.contact-intro{font-size:1.125rem;color:#374151}.contact-links{display:flex;flex-direction:column;gap:1rem}.contact-link{display:flex;align-items:center;gap:.75rem;color:#374151;text-decoration:none;transition:color .3s ease}.contact-link:hover{color:#0891b2}.contact-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column}.form-label{display:block;color:#374151;margin-bottom:.5rem}.form-input,.form-textarea{width:100%;padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:1rem;font-family:inherit;transition:outline .3s ease,box-shadow .3s ease}.form-input:focus,.form-textarea:focus{outline:none;box-shadow:0 0 0 2px #0891b2}.form-textarea{resize:none}.form-button{width:100%;background-color:#0891b2;color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;border:none;cursor:pointer;font-size:1rem;transition:background-color .3s ease}.form-button:hover{background-color:#0e7490}@media(min-width:768px){.contact-title{font-size:2.25rem}.contact-grid{grid-template-columns:repeat(2,1fr)}}.header{position:sticky;top:0;z-index:1000;background-color:#fff;border-bottom:1px solid #e5e7eb}.header-container{max-width:1280px;margin:0 auto;padding:1rem 1.5rem}.header-content{display:flex;align-items:center;justify-content:space-between}.header-logo{font-size:1.25rem;letter-spacing:-.025em;color:#111827;background:none;border:none;cursor:pointer;font-weight:500}.header-nav{display:none;align-items:center;gap:2rem}.header-nav button{color:#4b5563;background:none;border:none;cursor:pointer;font-size:1rem;transition:color .3s ease}.header-nav button:hover{color:#0891b2}.mobile-menu-button{display:block;background:none;border:none;color:#374151;cursor:pointer;padding:.5rem}.mobile-nav{display:flex;flex-direction:column;gap:1rem;margin-top:1rem;padding-bottom:1rem}.mobile-nav button{color:#4b5563;background:none;border:none;cursor:pointer;text-align:left;font-size:1rem;transition:color .3s ease}.mobile-nav button:hover{color:#0891b2}@media(min-width:768px){.header-nav{display:flex}.mobile-menu-button{display:none}}.footer{background-color:#111827;color:#fff;padding:2rem 0}.footer-container{max-width:1280px;margin:0 auto;padding:0 1.5rem;text-align:center}.footer-text{color:#9ca3af;margin:0}.skills{padding:5rem 0;background-color:#fff}.skills-container{max-width:1280px;margin:0 auto;padding:0 1.5rem}.skills-title{font-size:2rem;color:#111827;margin-bottom:3rem}.skills-grid{display:grid;grid-template-columns:1fr;gap:2rem}.skill-category{display:flex;flex-direction:column;gap:1rem}.skill-category-title{font-size:1.25rem;color:#111827;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.skill-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.skill-item{color:#374151;display:flex;align-items:flex-start}.skill-bullet{color:#0891b2;margin-right:.5rem}@media(min-width:768px){.skills-title{font-size:2.25rem}.skills-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.skills-grid{grid-template-columns:repeat(4,1fr)}}.experience{padding:5rem 0;background-color:#fff}.experience-container{max-width:1280px;margin:0 auto;padding:0 1.5rem}.experience-title{font-size:2rem;color:#111827;margin-bottom:3rem}.experience-list{max-width:48rem;display:flex;flex-direction:column;gap:2rem}.experience-item{border-left:2px solid #0891b2;padding-left:1.5rem}.experience-header{margin-bottom:.25rem}.experience-role{font-size:1.25rem;color:#111827;margin-bottom:.25rem}.experience-company{color:#1e40af;margin-bottom:0}.experience-duration{font-size:.875rem;color:#6b7280;margin-bottom:.75rem}.experience-description{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.experience-description-item{color:#374151;display:flex;align-items:flex-start}.experience-bullet{color:#0891b2;margin-right:.5rem}@media(min-width:768px){.experience-title{font-size:2.25rem}}.education{padding:5rem 0;background-color:#fff}.education-container{max-width:1280px;margin:0 auto;padding:0 1.5rem}.education-title{font-size:2rem;color:#111827;margin-bottom:3rem}.education-list{max-width:48rem;display:flex;flex-direction:column;gap:2rem}.education-item{border-left:2px solid #0891b2;padding-left:1.5rem}.education-header{margin-bottom:.5rem}.education-degree{font-size:1.25rem;color:#111827;margin-bottom:.25rem}.education-institution{color:#1e40af;margin-bottom:.25rem}.education-details{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;color:#6b7280}.education-year{color:#6b7280}.education-percentage{color:#374151;font-weight:500}@media(min-width:768px){.education-title{font-size:2.25rem}.education-details{flex-direction:row;gap:1rem}}
