:root{--background:#fff;--surface:#fff;--text:#1f1f1f;--secondary:#5e5e5e;--border:#d6dce5;--accent:#0b3d91;--accent-light:#1f5fc9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;font-family:Public Sans,Arial,sans-serif;line-height:1.8;display:flex}main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:20px 50px}.page{background:#fff;max-width:1100px;margin:0 auto}header,footer{background:var(--accent)}header nav{justify-content:space-between;align-items:stretch;display:flex}.header_buttons_left,.header_buttons_right{align-items:stretch;display:flex}header a,footer{color:#fffc;letter-spacing:1.5px;align-items:center;padding:14px 40px;font-family:Inter,sans-serif;font-size:16px;font-weight:600;transition:background-color .2s,color .2s;display:flex}header a:hover{color:#fff;background:#ffffff26;text-decoration:none}footer{justify-content:center;padding:20px 0;font-size:13px}h1,h2,h3{font-family:Inter,Arial,sans-serif}h1{letter-spacing:-1px;color:var(--accent);margin:0;font-size:32px;font-weight:600;line-height:1.15}h2{color:var(--accent);border-bottom:1px solid var(--border);margin-top:20px;margin-bottom:20px;padding-bottom:8px;font-size:24px;font-weight:600}h3{color:var(--accent);font-size:20px}p{font-size:16px;line-height:1.8}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-light);text-decoration:underline}.divider,hr{border:none;border-top:2px solid var(--accent);opacity:.15;margin:50px 0}img{max-width:100%;height:auto}.lightbox-trigger{cursor:zoom-in}.repository-card{border:1px solid var(--border);background:#fff;width:100%;margin:50px 0}.card-header{background:var(--accent);color:#fff;letter-spacing:-1px;padding:14px 40px;font-family:Inter,sans-serif;font-size:32px;font-weight:600;line-height:1.15}.card-content{padding:40px}.card-content p:last-child{margin-bottom:0}.repository-card+.repository-card{margin-top:0}.section_title{color:var(--accent);border-bottom:1px solid var(--border);margin-top:40px;margin-bottom:30px;padding-bottom:10px;font-size:18px;font-weight:600}.metadata{flex-wrap:wrap;gap:12px;margin-bottom:30px;display:flex}.tag{border:1px solid var(--border);color:var(--accent);background:#0b3d9114;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:600;line-height:1;display:inline-block}.greeting{margin-top:0;font-size:26px;font-weight:600}.project_page p,.project_page li,.project_info p{text-align:justify}.hero{margin:0 auto 40px}.hero_image{object-fit:cover;width:100%;max-height:500px;display:block}.hero figcaption,.project-figure figcaption,.project-figure-row figcaption{text-align:center;color:var(--secondary);margin-top:30px;font-size:16px;font-style:italic}.project-figure{max-width:1000px;margin:30px auto}.project-figure img{width:100%;display:block}.project-figure-row{gap:30px;margin:30px auto;display:flex}.project-figure-row figure{flex:1;margin:0}.project-figure-row img{width:100%;height:auto;display:block}@media (width<=768px){.project-figure-row{flex-direction:column}}.video-container{aspect-ratio:16/9;width:100%;max-width:900px;margin:30px auto;overflow:hidden}.video-container iframe{border:0;width:100%;height:100%;display:block}.project{border-bottom:1px solid var(--border);gap:30px;padding:30px 0;display:flex}.project:first-child{padding-top:0}.project:last-child{border-bottom:none;padding-bottom:0}.project img{object-fit:cover;border:1px solid var(--border);width:350px;height:222px;display:block}.project_info{flex:1}.project_info h3{margin:0 0 10px;font-size:22px}.project_info h3 a{color:var(--accent)}.project_info h3 a:hover{text-decoration:underline}.project_info p{max-width:none}@media (width<=768px){main{padding:10px}.card-content{padding:25px}.card-header{padding:14px 25px;font-size:28px}header nav{justify-content:stretch}.header_buttons_left{flex:1}.header_buttons_right{flex:2}.header_buttons_left,.header_buttons_right{display:flex}header a{letter-spacing:.5px;font-size:14px}.header_buttons_left a,.header_buttons_right a{text-align:center;flex:1;justify-content:center;padding:16px 0}h1{font-size:28px}h2{font-size:22px}.project{flex-direction:column}.project img{width:100%;height:auto}.project_page p,.project_page li,.project_info p{text-align:left}}
