body{margin:0;line-height:1.5;font-family:"Roboto Mono",monospace;color:#1f1f1f;background-color:#fafafa;min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}body.dark{color:#fff;background-color:#1a1a1a}img{width:100%;height:auto}h1,h2,h3,h4,h5,h6,p{margin:.75rem 0;font-weight:400}h1{font-size:2.027rem}@media screen and (min-width:640px){h1{font-size:2.986rem}}h2{font-size:1.802rem}@media screen and (min-width:640px){h2{font-size:2.488rem}}h3{font-size:1.602rem}@media screen and (min-width:640px){h3{font-size:2.074rem}}h4{font-size:1.424rem}@media screen and (min-width:640px){h4{font-size:1.728rem}}h5{font-size:1.266rem}@media screen and (min-width:640px){h5{font-size:1.44rem}}h6{font-size:1.125rem}@media screen and (min-width:640px){h6{font-size:1.2rem}}small{font-size:.889rem}@media screen and (min-width:640px){small{font-size:.833rem}}a{color:#2873bd;text-decoration:none}body.dark a{color:#42d7d2}a:hover{text-decoration:underline}hr{border-color:rgba(0,0,0,0.1)}.container,.container-sm{margin:0 auto;padding:1rem;padding-bottom:2.5rem;max-width:1024px;width:calc(100% - 2rem)}.container-sm{max-width:768px}.footer{display:flex;align-items:center;justify-content:center;padding:.5rem 0;background:#ededed}body.dark .footer{background:#252525}.hero{margin:5rem 0}.hero__description{max-width:50ch}.navbar{padding:1rem;box-shadow:0 0 0 1px rgba(0,0,0,0.08)}body.dark .navbar{box-shadow:0 0 0 1px rgba(255,255,255,0.08)}.navbar__inner{display:flex;flex-direction:row;align-items:center;justify-content:space-between;max-width:1024px;margin:0 auto}.navbar__links{display:none}@media screen and (min-width:640px){.navbar__links{display:flex;align-items:center;justify-content:space-between;gap:.25rem}}.navbar__mobile-links{display:none}.navbar__mobile-links--open{display:flex;flex-direction:column;gap:.25rem}@media screen and (min-width:640px){.navbar__mobile-links{display:none}}.navbar__mobile-link{padding:1rem;border-radius:.25rem}.navbar__mobile-link:hover{background-color:#ededed}body.dark .navbar__mobile-link:hover{background-color:#252525}.navbar__mobile-options{display:flex;gap:.25rem}@media screen and (min-width:640px){.navbar__mobile-options{display:none}}.navbar__button{display:block;line-height:0;padding:.75rem;background-color:transparent;border:none;border-radius:.25rem}.navbar__button:hover{background-color:#ededed}body.dark .navbar__button:hover{background-color:#252525}body.dark .navbar__hamburger > svg{fill:#fff}.navbar__link{display:inline-block;padding:.75rem}.navbar__logo{display:inline-block;border-radius:.25rem;font-weight:bold}.section-title{font-size:1.266rem;color:#4b4b4b;font-weight:600}@media screen and (min-width:640px){.section-title{font-size:1.44rem}}body.dark .section-title{color:#ccc}.card-grid{display:grid;grid-auto-rows:auto;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}@media screen and (min-width:640px){.card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}.card{padding:1rem;border-radius:.25rem;box-shadow:0 0 0 1px rgba(0,0,0,0.06) , 0 2px 2px rgba(0,0,0,0.04) , 0 4px 4px rgba(0,0,0,0.05) , 0 6px 6px rgba(0,0,0,0.06)}body.dark .card{box-shadow:0 0 0 1px rgba(255,255,255,0.06) , 0 2px 2px rgba(255,255,255,0.04) , 0 4px 4px rgba(255,255,255,0.05) , 0 6px 6px rgba(255,255,255,0.06)}.card__title{font-size:1.266rem;margin-top:0;margin-bottom:.1rem}@media screen and (min-width:640px){.card__title{font-size:1.44rem}}.card__date{margin-top:0;color:#4b4b4b;font-size:.889rem}@media screen and (min-width:640px){.card__date{font-size:.833rem}}body.dark .card__date{color:#ccc}.card__description{margin:0}.card__subtitle{margin-top:.5rem;margin-bottom:.1rem;font-weight:600}.carousel-container{display:flex;overflow-x:auto;gap:1rem;padding:1rem;flex-wrap:nowrap;overflow-y:hidden;scroll-behavior:smooth}.project-card{position:relative;flex:0 0 auto;width:250px;height:250px;border-radius:12px;overflow:auto;scroll-snap-align:start;transition:transform .3s ease;box-shadow:0 4px 12px rgba(0,0,0,0.2);cursor:pointer}.project-card:hover{transform:scale(1.03)}.card-image{width:100%;height:100%;object-fit:cover;display:block;transition:filter .3s ease}.card-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.7);color:#fff;opacity:0;transition:opacity .3s ease;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1rem;text-align:center}.project-card:hover .card-overlay{opacity:1}.card-link{position:absolute;bottom:0;left:0;right:0;text-align:center;background:rgba(0,0,0,0.6);padding:.3rem;font-size:1.333rem;color:#fff;text-decoration:none}.card-link:hover{text-decoration:underline}.carousel-container,.project-card,.card-image{pointer-events:auto !important}.contact-table{width:100%;table-layout:fixed;border-collapse:collapse}.contact-table td{text-align:center;vertical-align:middle;padding:0 10px}.contact-table img{height:75px;width:auto;display:block;margin:0 auto;object-fit:contain}@media (max-width:600px){.contact-table td{height:75px}}.pagination{display:flex;margin:1rem 0}.pagination > a{display:block}.pagination__next{margin-left:auto}.carousel-container{display:flex;overflow-x:auto;gap:1rem;padding:1rem;flex-wrap:nowrap;overflow-y:hidden;scroll-behavior:smooth}.project-card{position:relative;flex:0 0 auto;width:250px;height:250px;border-radius:12px;overflow:auto;scroll-snap-align:start;transition:transform .3s ease;box-shadow:0 4px 12px rgba(0,0,0,0.2);cursor:pointer}.project-card:hover{transform:scale(1.03)}.card-image{width:100%;height:100%;object-fit:cover;display:block;transition:filter .3s ease}.card-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.7);color:#fff;opacity:0;transition:opacity .3s ease;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1rem;text-align:center}.project-card:hover .card-overlay{opacity:1}.card-link{position:absolute;bottom:0;left:0;right:0;text-align:center;background:rgba(0,0,0,0.6);padding:.3rem;font-size:1.333rem;color:#fff;text-decoration:none}.card-link:hover{text-decoration:underline}.carousel-container,.project-card,.card-image{pointer-events:auto !important}.contact-table{width:100%;table-layout:fixed;border-collapse:collapse}.contact-table td{text-align:center;vertical-align:middle;padding:0 10px}.contact-table img{height:75px;width:auto;display:block;margin:0 auto;object-fit:contain}@media (max-width:600px){.contact-table td{height:75px}}body{font-family:'Roboto Mono',monospace}h1,h2,h3,h4,h5,h6{font-weight:700}.profile-pic-wrapper{width:65px;height:65px;border-radius:100%;overflow:hidden;display:flex;align-items:center;justify-content:center}.profile-pic{width:100%;height:100%;object-fit:cover}