*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:1rem;line-height:1.6;color:#111;background-color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{line-height:1.05;font-weight:900;color:#000;margin-bottom:1.5rem;letter-spacing:-0.02em;text-transform:uppercase}h1{font-size:4rem}h2{font-size:2.75rem}h3{font-size:1.953rem}h4{font-size:1.563rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-bottom:1.5rem}a{color:#000;text-decoration:none;border-bottom:2px solid #FFC800;transition:background-color 0.2s ease}a:hover,a:focus{background-color:#FFC800}ul,ol{margin-left:2rem;margin-bottom:1.5rem}li{margin-bottom:.5rem}img{max-width:100%;height:auto;display:block}code{font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:0.9em;background-color:#f2f2f2;padding:0.2em 0.4em;border-radius:3px}pre{font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:0.9em;background-color:#f2f2f2;padding:1.5rem;border-radius:4px;overflow-x:auto;margin-bottom:1.5rem}pre code{background:none;padding:0}blockquote{border-left:4px solid #FFC800;padding-left:1.5rem;margin-left:0;margin-bottom:1.5rem;color:#555;font-style:italic}hr{border:none;border-top:2px solid #000;margin:4rem 0}.container{max-width:1200px;margin:0 auto;padding-left:2rem;padding-right:2rem}main{min-height:calc(100vh - 200px)}section{padding:6rem 0}.grid{display:grid;gap:2rem}.grid-2{grid-template-columns:repeat(auto-fit, minmax(300px, 1fr))}.grid-3{grid-template-columns:repeat(auto-fit, minmax(250px, 1fr))}.site-header{position:fixed;top:0;left:0;right:0;background-color:#000;z-index:1000}.nav-container{max-width:1200px;margin:0 auto;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center}.nav-logo{font-size:1.25rem;font-weight:900;color:#FFC800;border:none;letter-spacing:0.1em;text-transform:uppercase}.nav-logo:hover{border:none;background:none;color:#ffffff}.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem}.nav-toggle span{display:block;width:24px;height:2px;background-color:#ffffff;transition:all 0.2s ease}.nav-links{display:flex;list-style:none;margin:0;gap:2rem}.nav-links a{border:none;padding:.5rem 0;position:relative;color:rgba(255,255,255,0.7);font-weight:700;text-transform:uppercase;font-size:.875rem;letter-spacing:0.08em;transition:color 0.2s ease}.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:3px;background-color:#FFC800;transition:width 0.2s ease}.nav-links a:hover,.nav-links a.active{color:#ffffff;background:none}.nav-links a:hover::after,.nav-links a.active::after{width:100%}.nav-social{display:flex;gap:1.5rem}.nav-social a{border:none;padding:.5rem;color:rgba(255,255,255,0.5);transition:color 0.2s ease}.nav-social a:hover{background:none;color:#FFC800}.nav-social a svg{display:block}@media (max-width: 768px){.nav-toggle{display:flex}.nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;background-color:#000;padding:1.5rem 2rem;gap:1.5rem;display:none}.nav-links.active{display:flex}.nav-social{display:none}}.hero{padding:calc($space-3xl + 80px) 0 6rem;text-align:left;background-color:#FFC800;color:#000}.hero .container{max-width:900px}.hero h1{margin-bottom:1.5rem;color:#000;font-size:4rem}.hero .tagline{font-size:1.25rem;font-weight:700;color:#000;margin-bottom:3rem;text-transform:uppercase;letter-spacing:0.05em;opacity:0.7}.hero .bio{max-width:600px;font-size:1.25rem;line-height:1.7;color:#111}.hero .bio a{border-bottom-color:#000}.hero .bio a:hover{background-color:#000;color:#FFC800}.section-projects{background-color:#fff}.section-projects h2{text-align:left;margin-bottom:4rem}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:3rem}.project-card{background:#fff;border:2px solid #000;overflow:hidden;transition:transform 0.2s ease,box-shadow 0.2s ease}.project-card:hover{transform:translateY(-4px);box-shadow:8px 8px 0 #FFC800}.project-card .project-image{width:100%;aspect-ratio:16 / 9;background-color:#f2f2f2;overflow:hidden}.project-card .project-image img{width:100%;height:100%;object-fit:cover}.project-card .project-content{padding:2rem}.project-card .project-content h3{font-size:1.563rem;margin-bottom:1rem}.project-card .project-content p{color:#555;margin-bottom:1.5rem;text-transform:none}.project-card .project-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.project-card .project-tags .tag{font-size:.875rem;padding:0.25rem 0.75rem;background-color:#FFC800;color:#000;font-weight:700;text-transform:uppercase;letter-spacing:0.03em}.project-card .project-links{display:flex;gap:1.5rem}.project-card .project-links a{font-size:.875rem;font-weight:700;color:#000;text-transform:uppercase;letter-spacing:0.03em;border-bottom:2px solid #FFC800}.project-card .project-links a:hover{background-color:#FFC800}.section-blog h2{text-align:left;margin-bottom:4rem}.section-blog .view-all{display:block;text-align:center;margin-top:3rem;font-weight:700;text-transform:uppercase}.blog-list{max-width:800px}.blog-post-preview{padding:2rem 0;border-bottom:2px solid #000}.blog-post-preview:last-child{border-bottom:none}.blog-post-preview time{font-size:.875rem;color:#555;display:block;margin-bottom:1rem;text-transform:uppercase;letter-spacing:0.05em}.blog-post-preview h3{font-size:1.563rem;margin-bottom:1rem}.blog-post-preview h3 a{border:none}.blog-post-preview h3 a:hover{background-color:#FFC800}.blog-post-preview p{color:#555;margin-bottom:1rem}.blog-post-preview .read-more{font-size:.875rem;font-weight:700;text-transform:uppercase}.section-contact{text-align:left;background-color:#000;color:#ffffff}.section-contact h2{margin-bottom:1.5rem;color:#FFC800}.section-contact p{font-size:1.25rem;color:rgba(255,255,255,0.7);margin-bottom:3rem;max-width:600px}.section-contact .social-links{display:flex;gap:2rem;list-style:none;margin:0}.section-contact .social-links a{border:none;padding:1rem;color:rgba(255,255,255,0.7);transition:color 0.2s ease}.section-contact .social-links a:hover{background:none;color:#FFC800}.section-contact .social-links a svg{display:block}.section-resume{background-color:#f2f2f2}.section-resume h2{text-align:left;margin-bottom:1.5rem}.section-resume h3{font-size:1.563rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:3px solid #000}.resume-download{margin-bottom:4rem}.resume-download a{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;color:#000;border-bottom:2px solid #FFC800}.resume-download a:hover{background-color:#FFC800}.resume-body{max-width:800px}.resume-skills{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.resume-block{margin-bottom:4rem}.resume-block ul{list-style:none;margin-left:0}.resume-block ul li{padding-left:0;margin-bottom:.5rem;color:#555;font-size:1rem}.resume-entry{margin-bottom:3rem}.resume-entry:last-child{margin-bottom:0}.resume-entry-header{margin-bottom:1rem;font-size:1rem;text-transform:none;line-height:1.4}.resume-entry-header strong{font-weight:900;text-transform:uppercase;letter-spacing:0.02em}.resume-date{display:block;font-size:.875rem;color:#555;margin-top:0.25rem}.resume-columns{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.blog-archive{padding:calc($space-3xl + 80px) 0 6rem}.blog-archive h1{margin-bottom:4rem}.blog-archive .year-heading{font-size:1.953rem;margin-top:4rem;margin-bottom:2rem;color:#555}.blog-archive .archive-item{padding:1.5rem 0;border-bottom:2px solid #000;display:flex;gap:2rem;align-items:baseline}.blog-archive .archive-item:last-child{border-bottom:none}.blog-archive .archive-item time{font-size:.875rem;color:#555;min-width:60px}.blog-archive .archive-item h3{font-size:1.25rem;margin:0}.blog-archive .archive-item h3 a{border:none}.blog-archive .archive-item h3 a:hover{background-color:#FFC800}.post{padding:calc($space-3xl + 80px) 0 6rem}.post .post-header{max-width:800px;margin:0 auto 4rem}.post .post-header .post-title{margin-bottom:1.5rem}.post .post-header .post-meta{font-size:.875rem;color:#555;display:flex;gap:1.5rem;align-items:center}.post .post-header .post-categories{display:flex;gap:.5rem}.post .post-header .post-categories .category{padding:0.25rem 0.75rem;background-color:#FFC800;color:#000;font-weight:700;text-transform:uppercase;font-size:.875rem}.post .post-content{max-width:800px;margin:0 auto}.post .post-content img{margin:3rem 0}.post .post-footer{max-width:800px;margin:6rem auto 0;padding-top:3rem;border-top:2px solid #000}.post .post-footer .post-navigation{display:flex;justify-content:space-between;gap:1.5rem;margin-bottom:2rem}.post .post-footer .post-navigation a{font-size:.875rem;max-width:45%}.post .post-footer .post-navigation .post-nav-next{text-align:right;margin-left:auto}.post .post-footer .back-to-blog{font-size:.875rem;display:inline-block}.site-footer{padding:2rem 0;border-top:3px solid #FFC800;background-color:#000}.site-footer .footer-content{display:flex;justify-content:space-between;align-items:center}.site-footer .footer-copyright{font-size:.875rem;color:rgba(255,255,255,0.5);margin:0}.site-footer .footer-social{display:flex;gap:1.5rem}.site-footer .footer-social a{border:none;padding:.5rem;color:rgba(255,255,255,0.5);transition:color 0.2s ease}.site-footer .footer-social a:hover{background:none;color:#FFC800}.site-footer .footer-social a svg{display:block}@media (max-width: 640px){html{font-size:14px}.container{padding-left:1.5rem;padding-right:1.5rem}.hero h1{font-size:2.75rem}.hero .tagline{font-size:1rem}.hero .bio{font-size:1rem}h2{font-size:1.953rem}.projects-grid{grid-template-columns:1fr}section{padding:4rem 0}.site-footer .footer-content{flex-direction:column;gap:1.5rem;text-align:center}.post-footer .post-navigation{flex-direction:column}.post-footer .post-navigation a{max-width:100%;text-align:left !important}.blog-archive .archive-item{flex-direction:column;gap:.5rem}.resume-columns{grid-template-columns:1fr}}@media (min-width: 640px) and (max-width: 768px){.projects-grid{grid-template-columns:repeat(2, 1fr)}}@media (min-width: 1280px){html{font-size:18px}}
