:root {
  --bg:#f5f4ef;
  --card:#ffffff;
  --text:#242424;
  --muted:#6b6b67;
  --accent:#355c47;
  --line:#deddd6;
}
* { box-sizing:border-box; }
body {
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}
header {
  background:#20382b;
  color:white;
  padding:1rem 0;
}
.container { width:min(1100px,92%); margin:auto; }
nav {
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  align-items:center;
}
nav a { color:white; text-decoration:none; }
nav .brand { font-weight:700; margin-right:auto; }
.hero { padding:4rem 0 2.5rem; }
.hero h1 { font-size:clamp(2rem,5vw,4rem); margin:0 0 .5rem; }
.hero p { color:var(--muted); max-width:720px; }
.grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:1.25rem;
  margin:2rem 0;
}
.card {
  display:block;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:1.25rem;
  text-decoration:none;
  color:inherit;
}
.card:hover { transform:translateY(-2px); transition:.15s ease; }
.card h2,.card h3 { margin-top:0; }
.meta { color:var(--muted); font-size:.95rem; }
.breadcrumbs { margin:1.25rem 0; color:var(--muted); font-size:.95rem; }
.breadcrumbs a { color:var(--accent); text-decoration:none; }
article {
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:1.5rem;
  margin:1rem 0 2rem;
}
article h2 { margin-top:1.6rem; }
.tag {
  display:inline-block;
  border:1px solid var(--line);
  border-radius:999px;
  padding:.15rem .6rem;
  margin:.15rem .2rem .15rem 0;
  color:var(--muted);
  font-size:.85rem;
}
form {
  max-width:420px;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:1.5rem;
  margin:2rem auto;
}
label { display:block; margin:.8rem 0 .25rem; }
input {
  width:100%;
  padding:.75rem;
  border:1px solid var(--line);
  border-radius:8px;
  font:inherit;
}
button {
  width:100%;
  margin-top:1rem;
  padding:.8rem;
  border:0;
  border-radius:8px;
  background:var(--accent);
  color:white;
  font:inherit;
  cursor:pointer;
}
.error {
  display:none;
  margin-top:1rem;
  padding:.75rem;
  border-radius:8px;
  background:#f7e7e7;
  color:#7b2525;
}
footer {
  color:var(--muted);
  padding:2rem 0 3rem;
  font-size:.9rem;
}
