/* refined typography */
:root{--blue:#0d4fdb;--text:#0f172a;--muted:#64748b;--bg:#f6f8fb;--card:#ffffff}
*{box-sizing:border-box}
body{margin:0;font-family:'Cerebri Sans',-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.container{max-width:1180px;margin:0 auto;padding:0 24px}
.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid #e5e7eb;z-index:10}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{font-weight:900;color:var(--blue);text-decoration:none;font-size:28px;letter-spacing:.1px}
.site-header nav a{margin:0 16px;color:#0f172a;text-decoration:none;font-weight:600}
.site-header nav a.active{color:#0d0f16}
.top-email a{color:var(--muted);text-decoration:none}
main.container{padding:44px 24px}

h1{font-size:42px;line-height:1.12;margin:0 0 8px;letter-spacing:-.2px}
h2{font-size:24px;margin:22px 0 10px}
p.meta{color:var(--muted);margin:6px 0 0}

.grid{display:grid;gap:18px}
.card{background:var(--card);border:1px solid #e6e8ee;border-radius:16px;overflow:hidden;box-shadow:0 1px 2px rgba(2,6,23,.04),0 8px 24px rgba(2,6,23,.04)}
.card .body{padding:18px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:4px;border:1px solid var(--blue);color:#fff;background:var(--blue);text-decoration:none;font-weight:700;letter-spacing:.1px;font-size:14px}
.btn:hover{filter:brightness(.96)}

input,select,textarea{height:46px;border-radius:12px;border:1px solid #cbd5e1;padding:0 12px;font-size:15px;width:100%;outline:none}
input:focus,select:focus,textarea:focus{border-color:#94a3b8;box-shadow:0 0 0 3px rgba(13,79,219,.1)}
textarea{height:auto;padding:12px}

.site-footer{background:#0b1220;color:#cbd5e1;margin-top:56px;padding:44px 0}
.site-footer .logo{color:#fff}
.site-footer a{color:#cbd5e1;text-decoration:none;display:block;margin:6px 0}
.footer-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
.copyright{margin-top:18px;border-top:1px solid rgba(255,255,255,.1);padding-top:18px;font-size:14px}

/* Projects grid */
.filters{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:14px;margin:22px 0}
.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.thumb{aspect-ratio:16/10;background:#e2e8f0;display:block;width:100%;object-fit:cover}
.project-title{font-size:19px;font-weight:900;margin:8px 0;color:#0f172a;text-decoration:none}
.project-title:hover{color:#0f172a;text-decoration:none}
.meta{color:var(--muted);font-size:14px}
.pagination{display:flex;gap:10px;justify-content:center;margin:28px 0}
.pagination a{padding:10px 14px;border:1px solid #e5e7eb;border-radius:12px;text-decoration:none;color:#0f172a}
.pagination a.active{background:var(--blue);color:#fff;border-color:var(--blue)}

/* Detail */
.detail{display:grid;grid-template-columns:2fr 1fr;gap:28px}
.gallery img{width:100%;border-radius:14px;display:block;aspect-ratio:16/9;object-fit:cover;margin:12px 0}
.pill{display:inline-block;background:#eef2ff;color:#1e3a8a;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800}
.sticky-form{position:sticky;top:96px}
.table{width:100%;border-collapse:separate;border-spacing:0}
.table th,.table td{border-bottom:1px solid #e5e7eb;padding:12px;text-align:left}

@media(max-width:900px){
  .detail{grid-template-columns:1fr}
  .sticky-form{position:static}
  .footer-cols{grid-template-columns:1fr}
  .filters{grid-template-columns:1fr 1fr;}
}

