/* Minimal responsive layout and styles */
:root{
  --maxw: 1100px;
  --accent:#0b78e3;
  --muted:#6b7280;
}
*{box-sizing:border-box}
body{font-family:Inter,ui-sans-serif,system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; margin:0; color:#111}
.container{max-width:var(--maxw); margin:1.5rem auto; padding:0 1rem}
.site-header{background:#fff; border-bottom:1px solid #eee; position:sticky; top:0; z-index:50}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:0.75rem 1rem; max-width:var(--maxw); margin:0 auto}
.brand .site-name{font-weight:700; text-decoration:none; color:var(--accent); font-size:1.125rem}
.site-nav{display:flex; gap:1rem; align-items:center}
.site-nav a{color:#111; text-decoration:none}
.site-nav input[type="search"]{padding:0.4rem 0.6rem; border:1px solid #ddd; border-radius:6px}

/* desktop hide mobile controls */
.menu-toggle{display:none; background:none; border:0; width:36px; height:36px; align-items:center; justify-content:center}
.menu-toggle span{display:block; height:2px; background:#333; margin:5px 0; border-radius:2px}

/* hero */
.hero{padding:2rem 0}
.hero h1{font-size:1.6rem; margin:0}
.lead{color:var(--muted); margin-top:0.5rem}

/* cards */
.posts-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; margin-top:1rem}
.card{background:#fff; border:1px solid #eee; padding:1rem; border-radius:10px; transition:transform .15s ease,box-shadow .15s}
.card:hover{transform:translateY(-4px); box-shadow:0 6px 18px rgba(0,0,0,0.06)}
.card-title{margin:0 0 .5rem 0}
.card-excerpt{color:var(--muted); margin:0 0 .75rem 0}
.card-meta{font-size:.85rem; color:var(--muted)}

/* mobile nav sliding */
.mobile-nav{display:none; position:fixed; right:-320px; top:0; width:280px; height:100%; background:#fff; box-shadow:-8px 0 24px rgba(0,0,0,0.12); padding:2rem 1rem; transition:right .28s cubic-bezier(.2,.9,.2,1); z-index:60}
.mobile-nav.open{right:0}
.mobile-nav a{display:block; margin-bottom:1rem}

/* responsive */
@media (max-width:900px){
  .site-nav{display:none}
  .menu-toggle{display:flex}
  .brand{flex:1; text-align:center}
  .container{padding:0 0.75rem}
  .hero h1{font-size:1.25rem}
  .mobile-nav input[type="search"]{width:100%; padding:0.5rem; border:1px solid #ddd; border-radius:6px}
}
