.nav-module__CQ-Jnq__nav{z-index:100;background:#fff;border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:-webkit-sticky;position:sticky;top:0}.nav-module__CQ-Jnq__logo{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700}.nav-module__CQ-Jnq__navList{gap:2rem;list-style:none;display:flex}.nav-module__CQ-Jnq__nav a{font-size:1rem;transition:opacity .2s}.nav-module__CQ-Jnq__nav a:hover{opacity:.6;text-decoration:none}
.home-module__Hx0lNG__homePage{min-height:100vh;padding:4rem 2rem}.home-module__Hx0lNG__hero{grid-template-columns:1fr 2fr;align-items:center;gap:4rem;max-width:1200px;margin:0 auto;display:grid}.home-module__Hx0lNG__portrait{justify-content:center;display:flex}.home-module__Hx0lNG__portraitImg{width:100%;max-width:400px;height:auto}.home-module__Hx0lNG__content{flex-direction:column;display:flex}.home-module__Hx0lNG__bio{color:#252525;max-width:600px;margin-bottom:.5rem;font-size:1rem;line-height:1.8}.home-module__Hx0lNG__socialLinks{gap:1rem;margin-top:1rem;margin-bottom:.5rem;display:flex}.home-module__Hx0lNG__socialLinks a{border:1px solid #000;border-radius:4px;padding:.5rem 1rem;font-size:.875rem;transition:all .2s}.home-module__Hx0lNG__socialLinks a:hover{color:#fff;background:#000;text-decoration:none}@media (max-width:768px){.home-module__Hx0lNG__hero{grid-template-columns:1fr;gap:2rem}.home-module__Hx0lNG__portraitImg{max-width:320px}}@media (max-width:480px){.home-module__Hx0lNG__portraitImg{max-width:250px}.home-module__Hx0lNG__socialLinks{flex-wrap:wrap}.home-module__Hx0lNG__socialLinks a{text-align:center;flex:0 0 calc(50% - .5rem)}}
.problem-module__ed3Ruq__problemPage{max-width:800px;min-height:100vh;margin:0 auto;padding:4rem 2rem}.problem-module__ed3Ruq__backLink{color:#666;margin-bottom:2rem;font-size:.95rem;transition:color .2s;display:inline-block}.problem-module__ed3Ruq__backLink:hover{color:#000;text-decoration:none}.problem-module__ed3Ruq__problemContent h1{margin-bottom:.5rem;font-size:1.75rem}.problem-module__ed3Ruq__date{color:#666;margin-bottom:2rem;font-size:.875rem}.problem-module__ed3Ruq__question,.problem-module__ed3Ruq__solution{margin-bottom:2rem}.problem-module__ed3Ruq__question h2,.problem-module__ed3Ruq__solution h2{margin-bottom:1rem;font-size:1.5rem}.problem-module__ed3Ruq__question p,.problem-module__ed3Ruq__solution p{color:#333;margin-bottom:1rem;font-size:1rem;line-height:1.8}@media (max-width:768px){.problem-module__ed3Ruq__problemPage{padding:3rem 1.5rem}.problem-module__ed3Ruq__problemContent h1{font-size:1.5rem}.problem-module__ed3Ruq__question h2,.problem-module__ed3Ruq__solution h2{font-size:1.25rem}}
.problem-module__dJGDYq__problemPage{max-width:800px;min-height:100vh;margin:0 auto;padding:4rem 2rem}.problem-module__dJGDYq__backLink{color:#666;margin-bottom:2rem;font-size:.95rem;transition:color .2s;display:inline-block}.problem-module__dJGDYq__backLink:hover{color:#000;text-decoration:none}.problem-module__dJGDYq__problemContent h1{margin-bottom:.5rem;font-size:1.75rem}.problem-module__dJGDYq__date{color:#666;margin-bottom:2rem;font-size:.875rem}.problem-module__dJGDYq__question,.problem-module__dJGDYq__solution{margin-bottom:2rem}.problem-module__dJGDYq__question h2,.problem-module__dJGDYq__solution h2{margin-bottom:1rem;font-size:1.5rem}.problem-module__dJGDYq__question p,.problem-module__dJGDYq__solution p{color:#333;margin-bottom:1rem;font-size:1rem;line-height:1.8}@media (max-width:768px){.problem-module__dJGDYq__problemPage{padding:3rem 1.5rem}.problem-module__dJGDYq__problemContent h1{font-size:1.5rem}.problem-module__dJGDYq__question h2,.problem-module__dJGDYq__solution h2{font-size:1.25rem}}
.math-module__hjdg5q__mathPage{max-width:900px;min-height:100vh;margin:0 auto;padding:4rem 2rem}.math-module__hjdg5q__mathPage h1{margin-bottom:2rem;font-size:3rem}.math-module__hjdg5q__problemsList{flex-direction:column;gap:1rem;display:flex}.math-module__hjdg5q__problemCard{color:inherit;border:1px solid #000;border-radius:4px;padding:1.5rem 2rem;text-decoration:none;transition:all .2s;display:block}.math-module__hjdg5q__problemCard:hover{color:#fff;background:#000;transform:translate(4px)}.math-module__hjdg5q__problemContent{flex-direction:column;gap:.5rem;display:flex}.math-module__hjdg5q__problemTitle{margin:0;font-size:1rem;font-weight:500;line-height:1.5}.math-module__hjdg5q__problemDate{color:#666;margin:0;font-size:.875rem}.math-module__hjdg5q__problemCard:hover .math-module__hjdg5q__problemDate{color:#ccc}@media (max-width:768px){.math-module__hjdg5q__mathPage{padding:3rem 1.5rem}.math-module__hjdg5q__problemCard{padding:1.25rem 1.5rem}.math-module__hjdg5q__problemTitle{font-size:.95rem}}
.problem-module__YDt3fW__problemPage{max-width:800px;min-height:100vh;margin:0 auto;padding:4rem 2rem}.problem-module__YDt3fW__backLink{color:#666;margin-bottom:2rem;font-size:.95rem;transition:color .2s;display:inline-block}.problem-module__YDt3fW__backLink:hover{color:#000;text-decoration:none}.problem-module__YDt3fW__problemContent h1{margin-bottom:.5rem;font-size:1.75rem}.problem-module__YDt3fW__date{color:#666;margin-bottom:2rem;font-size:.875rem}.problem-module__YDt3fW__question,.problem-module__YDt3fW__solution{margin-bottom:2rem}.problem-module__YDt3fW__question h2,.problem-module__YDt3fW__solution h2{margin-bottom:1rem;font-size:1.5rem}.problem-module__YDt3fW__solution h3{margin-top:1.5rem;margin-bottom:.75rem;font-size:1.25rem}.problem-module__YDt3fW__question p,.problem-module__YDt3fW__solution p{color:#333;margin-bottom:1rem;font-size:1rem;line-height:1.8}.problem-module__YDt3fW__solution ul{margin-bottom:1rem;margin-left:2rem}.problem-module__YDt3fW__solution li{color:#333;margin-bottom:.75rem;font-size:1rem;line-height:1.8}.problem-module__YDt3fW__solution code{background:#f5f5f5;border-radius:3px;padding:.2rem .4rem;font-family:Courier New,monospace;font-size:.9rem}@media (max-width:768px){.problem-module__YDt3fW__problemPage{padding:3rem 1.5rem}.problem-module__YDt3fW__problemContent h1{font-size:1.5rem}.problem-module__YDt3fW__question h2,.problem-module__YDt3fW__solution h2{font-size:1.25rem}.problem-module__YDt3fW__solution h3{font-size:1.1rem}}
.projects-module__D-cxOq__projectsPage{max-width:1800px;margin:0 auto;padding:4rem 2rem}.projects-module__D-cxOq__projectsPage h1{margin-bottom:3rem;font-size:3rem}.projects-module__D-cxOq__projectsGrid{grid-template-columns:repeat(4,1fr);gap:2rem;display:grid}.projects-module__D-cxOq__projectCard{border:1px solid #eee;padding:1.5rem}.projects-module__D-cxOq__projectImage{background:#f5f5f5;width:100%;height:250px;margin-bottom:1rem;position:relative;overflow:hidden}.projects-module__D-cxOq__projectImage img{object-fit:cover;width:100%;height:100%}.projects-module__D-cxOq__projectImageLink{text-decoration:none;display:block;position:relative}.projects-module__D-cxOq__projectImage{position:relative;overflow:hidden}.projects-module__D-cxOq__imageOverlay{opacity:0;background:rgba(0,0,0,.7);justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.projects-module__D-cxOq__imageOverlay span{color:#fff;font-size:1.5rem;font-weight:500}.projects-module__D-cxOq__projectImageLink:hover .projects-module__D-cxOq__imageOverlay{opacity:1}.projects-module__D-cxOq__projectImageLink:hover{text-decoration:none}.projects-module__D-cxOq__projectCard h2{font-family:var(--font-playfair),serif;margin-bottom:0;font-size:1.25rem}.projects-module__D-cxOq__projectSubtitle{color:#000;margin-bottom:.5rem;font-size:.85rem;font-weight:600}.projects-module__D-cxOq__projectDescription{color:#666;margin-bottom:.75rem;font-size:.875rem;line-height:1.6}.projects-module__D-cxOq__techTags{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.projects-module__D-cxOq__techTags span{background:#f0f0f0;padding:.25rem .75rem;font-size:.75rem}.projects-module__D-cxOq__projectLinks{gap:.5rem;display:flex}.projects-module__D-cxOq__projectLinks a{white-space:nowrap;border:1px solid #000;padding:.2rem .75rem;font-size:.75rem}@media (max-width:1600px){.projects-module__D-cxOq__projectsGrid{grid-template-columns:repeat(3,1fr)}}@media (max-width:1200px){.projects-module__D-cxOq__projectsGrid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.projects-module__D-cxOq__projectsGrid{grid-template-columns:1fr}.projects-module__D-cxOq__projectImage{height:300px}}@media (max-width:480px){.projects-module__D-cxOq__projectsPage h1{font-size:2rem}}
.work-module__8vBVoq__workPage{max-width:900px;margin:0 auto;padding:4rem 2rem}.work-module__8vBVoq__workPage h1{margin-bottom:2rem;font-size:3rem}.work-module__8vBVoq__intro{margin-bottom:4rem}.work-module__8vBVoq__intro p{color:#444;margin-bottom:1rem;font-size:1.125rem;line-height:1.8}.work-module__8vBVoq__timeline{padding-left:3rem;position:relative}.work-module__8vBVoq__timeline:before{content:"";background:#000;width:2px;position:absolute;top:0;bottom:0;left:8px}.work-module__8vBVoq__timelineItem{margin-bottom:3rem;position:relative}.work-module__8vBVoq__dot{background:#000;border-radius:50%;width:20px;height:20px;position:absolute;top:.5rem;left:-3rem}.work-module__8vBVoq__content h2{font-family:var(--font-playfair),serif;margin-bottom:.5rem;font-size:2rem}.work-module__8vBVoq__role{margin-bottom:.5rem;font-size:1.125rem}.work-module__8vBVoq__tech{color:#666;margin-bottom:1rem;font-size:.875rem;font-style:italic}.work-module__8vBVoq__description{color:#444;font-size:1rem;line-height:1.8}.work-module__8vBVoq__content ul{margin-top:.5rem;padding-left:1.5rem;list-style:outside}.work-module__8vBVoq__content li{color:#444;margin-bottom:.5rem;font-size:1rem;line-height:1.8}@media (max-width:768px){.work-module__8vBVoq__workPage h1{font-size:2rem}.work-module__8vBVoq__content h2{font-size:1.5rem}.work-module__8vBVoq__timeline{padding-left:2rem}.work-module__8vBVoq__dot{left:-2rem}}@media (max-width:480px){.work-module__8vBVoq__intro p,.work-module__8vBVoq__role{font-size:1rem}}
