:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#e0e0e0;background-color:#1a1a1a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#76a9ff;text-decoration:none}a:hover{text-decoration:underline}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:6px;border:1px solid #555555;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#2c2c2c;color:#fff;cursor:pointer;transition:all .2s ease-in-out}button:hover{background-color:#3a3a3a;border-color:#777}button:focus,button:focus-visible{outline:2px solid #76a9ff;outline-offset:2px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:#e0e0e0;background-color:#1a1a1a}.App{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}.App-header{background-color:#1a1a1a;color:#fff;padding:1rem 0;border-bottom:1px solid #333333}.nav-bar{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.nav-brand h1{font-size:1.8rem;font-weight:600;margin:0}.nav-links{display:flex;list-style:none;gap:1rem}.nav-links button{background:none;border:none;border-bottom:2px solid transparent;color:#fff;font-size:1rem;font-weight:500;cursor:pointer;padding:.5rem 1rem;border-radius:6px 6px 0 0;transition:all .3s ease}.nav-links button:hover{background-color:#2c2c2c}.nav-links button.active{color:#76a9ff;font-weight:600;border-bottom:2px solid #76a9ff}.App-main{flex:1;max-width:1200px;margin:0 auto;padding:2rem;width:100%}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.App-main>*{animation:fadeIn .5s ease-in-out}.App-footer{background-color:#1a1a1a;color:#a0a0a0;text-align:center;padding:2rem;margin-top:auto;border-top:1px solid #333333}.App-footer p{margin:0;font-size:.9rem}.footer-links{margin-bottom:1rem}.footer-links a{color:#a0a0a0;margin:0 1rem;text-decoration:none;transition:color .3s ease}.footer-links a:hover{color:#76a9ff;text-decoration:underline}@media (max-width: 768px){.nav-bar{flex-direction:column;gap:1rem;padding:0 1rem}.nav-links{gap:1rem}.nav-links button{font-size:.9rem;padding:.4rem .8rem}.App-main{padding:1rem}}@media (max-width: 480px){.nav-brand h1{font-size:1.5rem}.nav-links{flex-wrap:wrap;justify-content:center}}.homepage{width:100%;max-width:1000px;margin:0 auto;display:flex;flex-direction:column;align-items:center}.hero-section{width:100%;margin:2rem 0 3rem;text-align:center;padding:3rem 1rem;background-color:#2c2c2c;border:1px solid #444444;border-radius:8px}.hero-title{font-size:2.5rem;font-weight:700;color:#fff;margin-bottom:1rem}.hero-image{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid #76a9ff}.hero-subtitle{font-size:1.2rem;color:#b0b0b0;margin-bottom:1.5rem;font-weight:400}.about-me{width:100%;text-align:center;margin-bottom:3rem;padding:2rem;background-color:#2c2c2c;border:1px solid #444444;border-radius:8px}.about-me h2{font-size:2rem;color:#fff;margin-bottom:1.5rem}.about-me p{font-size:1.1rem;color:#e0e0e0;line-height:1.8;max-width:800px;margin:0 auto 1.5rem}.skills-section{width:100%;text-align:center;margin-bottom:3rem}.skills-section h2{font-size:2rem;color:#fff;margin-bottom:1.5rem}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.skill-category{background:#2c2c2c;border:1px solid #444444;padding:2rem;border-radius:8px;text-align:left;transition:transform .3s ease,border-color .3s ease}.skill-category:hover{transform:translateY(-5px);border-color:#76a9ff}.skill-category h3{color:#76a9ff;font-size:1.3rem;margin-bottom:1rem}.skill-category ul{list-style:none;padding:0}.skill-category li{padding:.5rem 0;border-bottom:1px solid #333333;color:#e0e0e0}.skill-category li:last-child{border-bottom:none}.apprenticeship-overview,.learning-reflection{width:100%;text-align:center;margin-bottom:3rem}.apprenticeship-overview h2,.learning-reflection h2{font-size:2rem;color:#fff;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:1px solid #333333}.overview-content p,.reflection-content p{font-size:1.1rem;color:#e0e0e0;line-height:1.8;margin-bottom:2rem}.apprenticeship-highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}.highlight-item{background:#2c2c2c;border:1px solid #444444;padding:2rem;border-radius:8px;text-align:center;transition:transform .3s ease,border-color .3s ease}.highlight-item:hover{transform:translateY(-5px);border-color:#76a9ff}.highlight-item h3{color:#76a9ff;font-size:1.3rem;margin-bottom:1rem}.highlight-item p{color:#b0b0b0;line-height:1.6}.project-card{background:#2c2c2c;border-radius:8px;border:1px solid #444444;overflow:hidden;transition:all .3s ease;height:100%;display:flex;flex-direction:column}.project-card:hover{transform:translateY(-5px);border-color:#76a9ff}.project-image{width:100%;height:400px;object-fit:cover;border-bottom:1px solid #444444}.project-content{padding:1.5rem;flex:1;display:flex;flex-direction:column}.project-title{font-size:1.4rem;color:#fff;margin-bottom:1rem;font-weight:600}.project-description{color:#b0b0b0;line-height:1.6;margin-bottom:1.5rem;flex:1}.project-technologies{margin-bottom:1.5rem}.project-technologies h4{color:#fff;font-size:1rem;margin-bottom:.8rem;font-weight:600}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{background-color:#76a9ff26;color:#9bbff1;padding:.3rem .8rem;border-radius:20px;font-size:.8rem;font-weight:500;border:1px solid rgba(118,169,255,.3)}.project-links{display:flex;gap:1rem;margin-top:auto}.project-link{flex:1;text-align:center;padding:.7rem 1rem;border-radius:6px;text-decoration:none;font-weight:600;transition:all .3s ease;border:1px solid #555555;background-color:#3a3a3a;color:#fff}.project-link:hover{background-color:#4a4a4a;border-color:#777}.details-link{background-color:#76a9ff;color:#1a1a1a;border-color:#76a9ff}.details-link:hover{background-color:#9bbff1;border-color:#9bbff1}@media (max-width: 768px){.project-content{padding:1rem}.project-title{font-size:1.2rem}.project-links{flex-direction:column;gap:.5rem}.project-link{padding:.6rem 1rem}}@media (max-width: 480px){.tech-tags{gap:.3rem}.tech-tag{font-size:.7rem;padding:.2rem .6rem}}.projects{max-width:1200px;margin:0 auto}.projects-header{text-align:center;margin-bottom:3rem}.projects-header h1{font-size:2.5rem;color:#fff;margin-bottom:1rem;border-bottom:1px solid #333333;padding-bottom:.5rem}.projects-header p{font-size:1.1rem;color:#b0b0b0;max-width:600px;margin:0 auto;line-height:1.8}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:3rem}.projects-footer{text-align:center;background:#1a1a1a;padding:2rem;border-radius:6px;border:1px solid #333333}.projects-footer p{font-size:1.1rem;color:#e0e0e0;line-height:1.8;margin:0}@media (max-width: 768px){.projects-header h1{font-size:2rem}.projects-header p{font-size:1rem}.projects-grid{grid-template-columns:1fr;gap:1.5rem}}@media (max-width: 480px){.projects-header h1{font-size:1.8rem}.projects-footer{padding:1.5rem}}.contact{max-width:800px;margin:0 auto}.contact-header{text-align:center;margin-bottom:3rem}.contact-header h1{font-size:2.5rem;color:#fff;margin-bottom:1rem;border-bottom:1px solid #333333;padding-bottom:.5rem}.contact-header p{font-size:1.1rem;color:#b0b0b0;line-height:1.8;margin-bottom:1.5rem}.cta-button{display:inline-block;background-color:#76a9ff;color:#1a1a1a;padding:.8rem 1.5rem;border-radius:6px;text-decoration:none;font-weight:600;margin-top:1rem;transition:background-color .3s ease}.cta-button:hover{background-color:#9bbff1}.contact-content{background:#2c2c2c;border-radius:8px;border:1px solid #444444;overflow:hidden}.contact-info{padding:2rem}.contact-section{margin-bottom:2.5rem}.contact-section:last-child{margin-bottom:0}.contact-section h2{font-size:1.6rem;color:#fff;margin-bottom:1.5rem;border-bottom:1px solid #444444;padding-bottom:.5rem}.profile-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.contact-link{display:block;text-decoration:none;background:#1a1a1a;border-radius:6px;padding:1.5rem;transition:all .3s ease;border:1px solid #444444}.contact-link:hover{transform:translateY(-5px);border-color:#76a9ff}.link-content{position:relative}.link-content h3{color:#fff;font-size:1.3rem;margin-bottom:.5rem}.link-content p{color:#b0b0b0;margin-bottom:0}.link-arrow{position:absolute;top:50%;right:0;transform:translateY(-50%);font-size:1.5rem;color:#a0a0a0;transition:all .3s ease}.contact-link:hover .link-arrow{color:#76a9ff;transform:translateY(-50%) translate(5px)}.email-info{background:#1a1a1a;padding:1.5rem;border-radius:6px;border:1px solid #444444;text-align:center}.email-info p{color:#b0b0b0;margin-bottom:1rem}.email-link{display:inline-block;font-size:1.2rem;font-weight:600;text-decoration:none;padding:.5rem 1rem;border:1px solid #4a7fe8;background-color:#4a7fe8;color:#fff;border-radius:6px;transition:all .3s ease;margin-bottom:1rem}.email-link:hover{background-color:#76a9ff;border-color:#76a9ff}.email-note{font-size:.9rem;color:#a0a0a0;font-style:italic}.about-info p{color:#e0e0e0;line-height:1.8;margin-bottom:1.5rem}.about-info ul{list-style:none;padding:0}.about-info li{border-bottom:1px solid #333333;color:#e0e0e0;position:relative;padding:.5rem 0 .5rem 1.5rem}.about-info li:before{content:"✓";position:absolute;left:0;color:#6a9a6a;font-weight:700}.about-info li:last-child{border-bottom:none}@media (max-width: 768px){.contact-header h1{font-size:2rem}.contact-header p{font-size:1rem}.contact-info{padding:1.5rem}.profile-links{grid-template-columns:1fr;gap:1rem}.contact-link{padding:1rem}.link-content h3{font-size:1.1rem}}@media (max-width: 480px){.contact-header h1{font-size:1.8rem}.contact-section h2{font-size:1.4rem}.email-link{font-size:1rem;padding:.4rem .8rem}}.blog-post{max-width:1000px;margin:0 auto;padding:2rem;background-color:#2c2c2c;border:1px solid #444444;border-radius:8px;color:#e0e0e0;line-height:1.8}.blog-post h1,.blog-post h2,.blog-post h3{color:#fff;margin-bottom:1.5rem}.blog-post h1{font-size:2.5rem;border-bottom:1px solid #444444;padding-bottom:1rem}.blog-post h2{font-size:2rem}.blog-post h3{font-size:1.5rem}.blog-post p{margin-bottom:1.5rem}.blog-post .post-meta{font-size:.9rem;color:#b0b0b0;margin-bottom:2rem}.blog-post ul{list-style-position:inside;margin-bottom:1.5rem}.blog-post li{margin-bottom:.5rem}
