*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:#2d2a26;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#faf8f6;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:22px;font-weight:400;line-height:1.7}h1,h2,h3,h4,h5,h6{color:#2d2a26;font-family:Noto Serif,Georgia,serif;font-weight:600;line-height:1.3}h1{margin-bottom:1rem;font-size:3.5rem}p{margin-bottom:1.5rem}p:last-child{margin-bottom:0}a{color:#5d6b85;text-decoration:none;transition:color .2s}a:hover{color:#445163}.container{max-width:650px;margin:0 auto;padding:4rem 2rem 0}.top-nav{width:100%;margin-bottom:3rem;font-size:.8rem;animation:.6s ease-out fadeIn}.top-nav a{opacity:.6;text-transform:uppercase;letter-spacing:1.5px;margin-right:2rem;transition:opacity .2s}.top-nav a:hover{opacity:1}.top-nav a.active{opacity:1;border-bottom:1px solid #d6ccc2;padding-bottom:2px}.nav-separator{opacity:.4;margin:0 .75rem}main{justify-content:center;align-items:flex-start;min-height:calc(100vh - 8rem);animation:.6s ease-out fadeIn;display:flex}.main-layout{flex-direction:column;align-items:flex-start;width:100%;display:flex}.intro{max-width:580px;margin-bottom:6rem}.intro h1{margin-bottom:2.5rem}.intro p{font-size:1.3rem;line-height:1.8}.more-link{opacity:.8;margin-top:2rem;font-size:1.15rem;transition:opacity .2s;display:inline-block}.more-link:hover{opacity:1}.portfolio-overview{max-width:100%;margin-bottom:6rem}.portfolio-overview h1{margin-bottom:.5rem}.portfolio-intro{opacity:.8;max-width:600px;margin-bottom:6rem;font-size:1.5rem}.portfolio-grid{gap:4rem;margin-top:3rem;display:grid}.portfolio-card{transition:transform .3s;display:block}.portfolio-card h2{margin-bottom:.75rem;font-size:1.6rem}.portfolio-card-thesis{margin-bottom:.5rem;font-size:1.2rem;line-height:1.5}.portfolio-card-role{opacity:.8;color:#2d2a26;margin-bottom:.75rem;font-size:1rem}.portfolio-card-link{color:#5d6b85;opacity:.6;margin-top:.5rem;font-size:1.1rem;transition:all .2s}.portfolio-card-link:hover{opacity:1}.portfolio-card-image{background:#e8e5e1;border-radius:4px;width:100%;margin-bottom:1.5rem;overflow:hidden}.portfolio-card-image img{width:100%;height:auto;display:block}.portfolio-card-content h2{color:#2d2a26;margin-bottom:.5rem;font-size:1.8rem}.portfolio-card-tagline{opacity:.8;margin-bottom:.75rem;font-size:1rem;line-height:1.6}.portfolio-card-meta{opacity:.6;margin-bottom:0;font-size:.85rem}.project-detail{max-width:800px;margin:0 auto;padding:4rem 0}.back-link{opacity:.6;margin-bottom:2rem;font-size:.9rem;transition:opacity .2s;display:inline-block}.back-link:hover{opacity:1}.project-header{margin-bottom:3rem}.project-header h1{margin-bottom:1rem;font-size:2.5rem}.project-meta{opacity:.6;font-size:.9rem}.meta-separator{margin:0 .5rem}.project-description{margin-bottom:4rem;font-size:1.1rem;line-height:1.8}.project-images{flex-direction:column;gap:3rem;display:flex}.project-image{width:100%}.project-image img{border-radius:4px;width:100%;height:auto}.project-navigation{border-top:1px solid #e8e5e1;justify-content:space-between;gap:2rem;margin-top:5rem;padding-top:3rem;display:flex}.project-nav-link{flex-direction:column;flex:1;gap:.5rem;transition:opacity .2s;display:flex}.project-nav-link:hover{opacity:.7}.project-nav-link.next{text-align:right;align-items:flex-end}.nav-label{opacity:.6;font-size:.85rem}.nav-title{font-size:1rem;font-weight:500}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){body{font-size:20px}h1{font-size:2.5rem}.container{padding:0 1.5rem}main{min-height:100vh;padding:3rem 0}.intro p{font-size:1.2rem}.more-link{font-size:1.1rem}.top-nav{margin-bottom:1.5rem;padding-top:3rem;font-size:.85rem}.nav-separator{margin:0 .5rem}.portfolio-overview{padding:0}.portfolio-intro{margin-bottom:3rem;font-size:1rem}.portfolio-grid{gap:3rem}.portfolio-card-content h2{font-size:1.5rem}.project-detail{padding:3rem 0}.project-header h1{font-size:2rem}.project-navigation{flex-direction:column;gap:2rem}.project-nav-link.next{text-align:left;align-items:flex-start}}
