@font-face{font-family:NintendoDSBIOS;src:url(/assets/fonts/NintendoDSBIOS.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}body{line-height:1.6;margin:0;padding:0;color:#333;background-color:#e2d9d0}body,h1,h2,h3,h4,h5,h6{font-family:NintendoDSBIOS,Courier New,sans-serif}h1{font-size:3rem}h2{font-size:2rem}h3{font-size:1.9rem}h4{font-size:1.8rem}h5{font-size:1.7rem}a,div,h6,li,p,span{font-size:1.5rem}.navbar{background-color:#333;color:white;height:60px;position:-webkit-sticky;position:sticky;top:0;box-shadow:0 2px 4px rgba(0,0,0,.1);z-index:100}.container,.navbar{display:flex;align-items:center}.container{width:90%;max-width:1200px;margin:0 auto;justify-content:space-between}.navbar .nav-logo{height:100%;display:flex;align-items:center}.navbar .nav-logo img.site-logo{max-height:100%;height:30px;width:auto}.nav-links{list-style:none;display:flex;margin:0;padding:0}.nav-links li{margin-left:2rem}.nav-links a{color:white;text-decoration:none;padding:.5rem 0;transition:color .3s}.nav-links a.active,.nav-links a:hover{color:#4c57af}.content-container{max-width:1200px;margin:2rem auto;padding:0 2rem}.headshot{width:200px;height:200px;object-fit:cover;object-position:center 35%;border-radius:50%;overflow:hidden;display:block;margin:20px auto;box-shadow:0 4px 8px rgba(0,0,0,.2)}.site-footer{margin-top:10px;padding:5px 0;text-align:center;line-height:.6;font-size:14px;color:#555;background:none}.site-footer,.site-footer a,.site-footer li,.site-footer p,.site-footer span{font-size:1.2rem}.site-footer .social-links{list-style:none;padding:0;margin-top:2px}.site-footer .social-links li{display:inline;margin:0 2px}.site-footer .social-links a{text-decoration:none;color:#0077b5}.site-footer .social-links a:hover{text-decoration:underline}.site-footer .footer-info{margin-top:2px;font-size:12px;color:#444}.page-header{text-align:center;margin-bottom:3rem}.page-header h1{margin-bottom:.5rem;color:#333}.page-header p{color:#666}.image-placeholder{height:300px;width:100%;background-color:#f0f0f0}.image-placeholder p{margin:.5rem 0;font-size:1.2rem}.image-note{font-size:.9rem!important;color:#888}.placeholder-icon{margin-bottom:1rem;color:#4c57af}@media (max-width:576px){.nav-links{flex-wrap:wrap}.nav-links li{margin-left:1rem}}.hero-section{display:flex;flex-direction:column;align-items:center;gap:2rem;margin-bottom:3rem}.hero-content{text-align:center}.hero-content h1{margin-bottom:.5rem;color:#333}.hero-content h2{margin-bottom:1rem;color:#4c57af}.hero-content p{margin-bottom:1.5rem;color:#555;max-width:600px}.hero-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.5rem}.hero-image{text-align:center}.about-section{margin:4rem 0}.about-section h2{text-align:center;margin-bottom:2rem;color:#333}.about-content{display:flex;flex-direction:column;gap:2rem}.about-text{flex:1 1}.about-text p{margin-bottom:1rem}.skills-overview{flex:1 1;background-color:#c4bbb2;padding:1.5rem;border-radius:8px}.skills-overview h3{margin-bottom:1.5rem;color:#4c57af;text-align:center}.skills-grid{display:grid;grid-template-columns:1fr;grid-gap:1.5rem;gap:1.5rem}.skill-category h4{border-bottom:2px solid #4c57af;padding-bottom:.5rem;margin-bottom:.8rem;color:#333}.skill-category ul{padding-left:1.5rem}.skill-category li{margin-bottom:.5rem}.button{display:inline-block;padding:.75rem 1.5rem;text-decoration:none;border-radius:6px;font-weight:600;text-align:center;transition:all .3s ease;cursor:pointer;border:2px solid transparent;font-size:1rem;line-height:1.2}.button.primary{background-color:#4c57af;color:white;border-color:#4c57af}.button.primary:hover{background-color:#3a4590;border-color:#3a4590;transform:translateY(-2px);box-shadow:0 4px 12px rgba(76,87,175,.3)}.button.secondary{background-color:transparent;color:#4c57af;border-color:#4c57af}.button.secondary:hover{background-color:#4c57af;color:white;transform:translateY(-2px);box-shadow:0 4px 12px rgba(76,87,175,.2)}.button.small{padding:.5rem 1rem;font-size:.9rem;font-weight:500}.featured-projects{margin-top:4rem;margin-bottom:4rem;padding:2rem 0;background-color:#c4bbb2;border-radius:12px}.featured-projects h2{text-align:center;margin-bottom:2.5rem;color:#333;font-size:2rem;font-weight:600}.project-cards{display:grid;grid-template-columns:1fr;grid-gap:2rem;gap:2rem;padding:0 1rem}.project-card{background-color:#f0f0f0;border-radius:10px;padding:2rem;box-shadow:0 4px 6px rgba(0,0,0,.07);transition:all .3s ease;border:1px solid #e2e8f0}.project-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px rgba(0,0,0,.12);border-color:#4c57af}.project-info{text-align:center}.project-info h3{color:#4c57af;margin-bottom:1rem;font-size:1.3rem;font-weight:600}.project-info p{margin-bottom:1.5rem;color:#666;line-height:1.6;font-size:.95rem}@media (min-width:768px){.hero-section{flex-direction:row;justify-content:space-between}.hero-content{text-align:left;flex:1 1}.hero-buttons{justify-content:flex-start}.about-content{flex-direction:row}.skills-grid{grid-template-columns:repeat(3,1fr)}.project-cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));padding:0 2rem}}@media (min-width:1024px){.project-cards{grid-template-columns:repeat(3,1fr);max-width:1200px;margin:0 auto}}.resume-container{max-width:900px;margin:2rem auto;padding:2rem;background-color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.1)}.resume-header,.resume-section{margin-bottom:2rem}.resume-section h2{border-bottom:2px solid #4c57af;padding-bottom:.5rem;margin-bottom:1rem}.resume-item{margin-bottom:1.5rem}.resume-item h3{margin-bottom:.5rem}.resume-item .company{font-weight:700}.resume-item .date{color:#666;font-style:italic}.resume-skills{display:flex;flex-wrap:wrap;gap:.5rem}.resume-skills .skill-category{font-weight:700;margin-right:.5rem}.keyboard-section{margin-bottom:4rem}.keyboard-section h2{border-bottom:2px solid #4c57af;padding-bottom:.5rem;margin-bottom:1.5rem;color:#333}.keyboard-card{display:flex;flex-direction:column;background-color:#c4bbb2;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.1)}.keyboard-image{width:100%;background-color:#bdb4ac;padding:1rem;box-sizing:border-box;display:flex;justify-content:center;align-items:center}.keyboard-img{max-width:100%;max-height:350px;object-fit:contain;display:block;border:1px solid #ddd;border-radius:4px;padding:5px;background-color:white;box-shadow:0 2px 5px rgba(0,0,0,.1);transition:transform .3s ease}.keyboard-img:hover{transform:scale(1.02)}.keyboard-details{padding:1.5rem}.keyboard-details h3{margin-top:0;color:#4c57af}.keyboard-details ul{padding-left:1.5rem;margin-bottom:2rem}.keyboard-details li{margin-bottom:.5rem}.build-description{background-color:#bdb4ac;padding:1.5rem;border-radius:6px;margin-top:1.5rem}.build-description p{margin-top:.5rem}.coming-soon{opacity:.9}@media (min-width:768px){.keyboard-card{flex-direction:row}.keyboard-image{width:40%;height:auto;display:flex;align-items:center;justify-content:center;padding:1.5rem}.keyboard-details{width:60%}.keyboard-img{max-height:100%;max-width:100%}}.timeline{position:relative;padding:2rem 0}.timeline-line{position:absolute;top:0;bottom:0;left:50%;width:4px;background-color:#4c57af;transform:translateX(-50%);z-index:-1}.computer-section{margin-bottom:5rem;position:relative}.computer-section:last-child{margin-bottom:2rem}.computer-section h2{text-align:center;background-color:#4c57af;color:white;padding:.75rem 1.5rem;border-radius:30px;display:inline-block;margin:0 auto 2rem;position:relative;left:50%;transform:translateX(-50%)}.computer-card{display:flex;flex-direction:column;background-color:#c4bbb2;border-radius:8px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.1);max-width:90%;margin:0 auto;position:relative}.computer-image{width:100%;background-color:#bdb4ac;padding:1rem;box-sizing:border-box;display:flex;justify-content:center;align-items:center}.computer-img{max-width:100%;max-height:400px;object-fit:contain;display:block;border:1px solid #ddd;border-radius:4px;padding:5px;background-color:white;box-shadow:0 2px 5px rgba(0,0,0,.1);transition:transform .3s ease}.computer-img:hover{transform:scale(1.02)}.computer-details{position:relative;padding:2.5rem 1.5rem 1.5rem}.build-date{position:absolute;top:10px;right:20px;background-color:#4c57af;color:white;padding:.3rem 1rem;border-radius:20px;font-weight:700;font-size:1.1rem;z-index:5;box-shadow:0 2px 4px rgba(0,0,0,.2)}.computer-specs{margin-bottom:1.5rem}.computer-specs h3{color:#4c57af;margin-bottom:1rem}.computer-specs ul{padding-left:1.5rem;margin-bottom:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:.5rem 1.5rem}.computer-story{background-color:#bdb4ac;padding:1.5rem;border-radius:8px;border-left:4px solid #4c57af;margin-top:1rem}.computer-story p{margin-bottom:1rem}.computer-story p:last-child{margin-bottom:0}.journey-reflection{background-color:#c4bbb2;padding:2rem;border-radius:8px;margin:3rem auto;max-width:90%;border-top:4px solid #4c57af}.journey-reflection h2{color:#4c57af;margin-bottom:1.5rem;text-align:center}.journey-reflection p{margin-bottom:1rem;line-height:1.7}@media (min-width:768px){.computer-card{flex-direction:row}.computer-image{width:40%;height:auto;display:flex;align-items:center;justify-content:center;padding:1.5rem}.computer-details{width:60%}.computer-img{max-height:100%;max-width:100%}.computer-section:nth-child(2n) .computer-card{flex-direction:row-reverse}.build-date{top:15px}}@media (max-width:767px){.timeline-line{left:20px}.computer-section h2{left:0;transform:none;margin-left:40px}.computer-card{max-width:95%;margin-left:auto}.build-date{top:10px;left:20px;right:auto}}@media (max-width:576px){.computer-specs ul{grid-template-columns:1fr}.journey-reflection{padding:1.5rem}}.back-navigation{margin-bottom:2rem}.back-link{display:inline-flex;align-items:center;color:#4c57af;text-decoration:none;font-weight:500;padding:.5rem 1rem;border:2px solid #4c57af;border-radius:6px;transition:all .3s ease;background-color:transparent}.back-link:hover{background-color:#4c57af;color:white;text-decoration:none;transform:translateX(-3px)}.content-section{margin-bottom:4rem}.content-section h2{border-bottom:2px solid #4c57af;padding-bottom:.5rem;margin-bottom:1.5rem;color:#333}.content-card{display:flex;flex-direction:column;background-color:#c4bbb2;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.1);margin-bottom:3rem}.content-image{width:100%;background-color:#bdb4ac;padding:1rem;box-sizing:border-box;display:flex;justify-content:center;align-items:center}.content-img{max-width:100%;max-height:350px;object-fit:contain;display:block;border:1px solid #ddd;border-radius:4px;padding:5px;background-color:white;box-shadow:0 2px 5px rgba(0,0,0,.1);transition:transform .3s ease}.content-details{padding:1.5rem}.content-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;margin-bottom:1rem}.content-header h3{color:#4c57af;margin:0 1rem 0 0}.content-date{color:#666;font-style:italic;font-weight:700;background-color:#f0f0f0;padding:.2rem .8rem;border-radius:20px;font-size:.9rem}.content-description{margin-top:1rem}.content-description h4{color:#333;margin-top:1.5rem;margin-bottom:.5rem}.content-description p{margin-bottom:1rem;line-height:1.6}.content-description ul{padding-left:1.5rem;margin-bottom:1.5rem}.content-description li{margin-bottom:.5rem}.image-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#f5f5f5;border:2px dashed #ccc;border-radius:4px;height:200px;text-align:center;color:#666}.image-note{font-size:.9rem;color:#999;margin-top:.5rem}.image-gallery{display:flex;position:relative;justify-content:center;padding:1rem 0}.image-gallery .content-img{max-width:calc(50% - .5rem);position:relative;transition:transform .3s ease,box-shadow .3s ease}.image-gallery .content-img:nth-child(odd){transform:rotate(-3deg) translateY(5px);z-index:1}.image-gallery .content-img:nth-child(2n){transform:rotate(3deg) translateY(-5px);margin-left:-30px;z-index:2}.image-gallery .content-img:hover{transform:scale(1.05) rotate(0);z-index:3;box-shadow:0 4px 10px rgba(0,0,0,.2)}.category-button{display:inline-block;background-color:#4c57af;color:white;padding:.75rem 1.5rem;border-radius:6px;text-decoration:none;font-weight:500;transition:all .3s ease;margin-top:1rem}.category-button:hover{background-color:#3d47a0;transform:translateY(-2px);box-shadow:0 4px 12px rgba(76,87,175,.3);text-decoration:none;color:white}@media (min-width:768px){.content-card{flex-direction:row}.content-image{width:30%;max-width:400px}.content-details{width:70%}}