/* ...existing code... */
:root{
  --bg:#f7f9fb;
  --card:#ffffff;
  --accent:#2b6cb0;
  --text:#1a202c;
  --muted:#4a5568;
  --maxw:900px;
  --radius:8px;
  --gap:20px;
  font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

*{box-sizing:border-box}

body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.6;
}

.container{
  max-width:var(--maxw);
  margin:0 auto;
  padding:24px;
}

.site-header{
  background:linear-gradient(90deg,#ffffff, #f1f5f9);
  border-bottom:1px solid #e6eef6;
  padding:18px 0;
  margin-bottom:12px;
}

.site-header h1{
  margin:0;
  font-size:1.25rem;
  color:var(--accent);
}

.tagline{
  margin:6px 0 0;
  color:var(--muted);
  font-size:0.95rem;
}

.effective{
  background:var(--card);
  padding:12px 16px;
  border-radius:var(--radius);
  box-shadow:0 1px 2px rgba(15,23,42,0.04);
  margin-bottom:18px;
  font-weight:600;
}

main section{
  background:var(--card);
  padding:18px;
  margin-bottom:14px;
  border-radius:var(--radius);
  box-shadow:0 6px 18px rgba(15,23,42,0.03);
}

h2{
  margin-top:0;
  color:var(--accent);
  font-size:1.05rem;
}

ul{margin:0 0 0 1.2rem}

a{color:var(--accent)}

.site-footer{
  padding:18px 0;
  text-align:center;
  color:var(--muted);
  font-size:0.9rem;
  margin-top:10px;
}

/* Accessibility skip link */
.skip-link{
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
.skip-link:focus{
  left:8px;
  top:8px;
  width:auto;
  height:auto;
  padding:8px 12px;
  background:#000;
  color:#fff;
  border-radius:6px;
  z-index:9999;
  text-decoration:none;
}
/* Responsive */
@media (max-width:600px){
  .container{padding:16px}
  .site-header h1{font-size:1.1rem}
  .tagline{font-size:0.85rem}
  .effective{padding:10px 14px}
  main section{padding:16px}
  h2{font-size:1rem}
}