:root{
  --site-max-width:1100px;
  --color-primary:#0ea5e9; /* sky-500 */
  --color-accent:#0369a1; /* sky-700 */
  --muted:#6b7280;
}
html,body{height:100%;}
body{
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: #0f172a;
  background: #ffffff;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.container{max-width:var(--site-max-width);margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}
header.site-header, nav.site-header{border-bottom:1px solid #e6e9ee;background:#fff;z-index:60}
.site-brand{font-weight:700;letter-spacing:.08em}
.site-nav a{color:inherit;text-decoration:none}
.site-nav a:hover{color:var(--muted)}
.site-menu-btn{background:none;border:none;cursor:pointer;padding:0}
.site-mobile-menu a{display:block;padding:0.5rem 0;text-align:center;color:inherit;text-decoration:none}
.site-mobile-menu a:hover{color:var(--muted)}
.footer{border-top:1px solid #eef2f7;padding:2rem 0;margin-top:3rem;color:var(--muted);font-size:0.95rem}
.btn-primary{background:var(--color-primary);color:#fff;padding:.5rem 1rem;border-radius:.5rem;display:inline-block}
.btn-outline{border:1px solid rgba(15,23,42,0.06);padding:.45rem .85rem;border-radius:.5rem}
.prose{max-width:72ch}
/* responsive utilities for hero images */
.post-hero img{width:100%;height:auto;border-radius:10px}
/* small improvements for certificate cards */
.cert-card img{max-height:220px;object-fit:contain}
/* improvements for 404 */
.error-wrapper .btn{background:var(--color-primary)}
/* ensure content doesn't hide under fixed navbar */
body > :not(nav) {
  scroll-margin-top: 80px;
}
@media (max-width: 768px) {
  body > :not(nav) {
    scroll-margin-top: 60px;
  }
}
/* mobile menu helper used by the shared navbar script */
.mobile-open{display:flex!important;animation:slideDown .18s ease-in-out;flex-direction:column}
@keyframes slideDown{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
