:root{--bg:#fff;--text:#111;--muted:#666;--accent:#2b4450}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,'Helvetica Neue',Arial;line-height:1.6;color:var(--text);margin:0;background:var(--bg)}
.wrap{max-width:1000px;margin:0 auto;padding:2rem}
.site-header{border-bottom:1px solid #eee}
.site-header .wrap{display:flex;align-items:center;gap:1rem}
.logo img{height:48px}
.site-nav{margin-left:auto;display:flex;gap:1rem}
.site-nav a{color:var(--text);text-decoration:none}
.nav-toggle{display:none;background:none;border:0;font-size:1.25rem}
.hero{background:#f9f9f9;padding:4rem 0;text-align:left}
.hero h1{margin:0 0 0.5rem;font-size:1.75rem}
.btn{display:inline-block;padding:0.6rem 1rem;background:var(--accent);color:#fff;text-decoration:none;border-radius:4px}
.btn.ghost{background:transparent;border:1px solid #ddd;color:var(--text)}
.preview .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.card{background:#fff;border:1px solid #eee;padding:1rem}
.card img{width:100%;height:140px;object-fit:cover;background:#ddd}
.news-list{list-style:none;padding:0;margin:0}
.news-list li{padding:.4rem 0;border-bottom:1px solid #f0f0f0}
.site-footer{border-top:1px solid #eee;padding:1rem 0;margin-top:2rem}
@media (max-width:640px){
  .site-nav{display:none;position:absolute;right:1rem;top:72px;background:#fff;padding:1rem;border:1px solid #eee}
  .nav-toggle{display:block;margin-left:auto}
  .hero{padding:2rem 0}
}

/* Accessibility focus */
a:focus,button:focus{outline:2px solid #004466;outline-offset:2px}