:root {
  --primary: #33502f;
  --primary-dark: #253a22;
  --primary-on: #ffffff;
  --secondary: #7d6a4f;
  --secondary-ink: #7d6a4f;
  --accent: #b8923d;
  --accent-ink: #866a2c;
  --accent-on: #1f241d;
  --bg: #f7f5ee;
  --surface: #f4f1e7;
  --ink: #1f241d;
  --muted: #6c706a;
  --border: #e7e1cb;
  --r-sm: 8px; --r-md: 12px; --r-lg: 20px;
  --sp-3: 8px; --sp-4: 16px; --sp-5: 26px; --sp-6: 42px;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: Geist, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  line-height: 1.65;
  font-size: 17px;
}
.wrap { max-width: 720px; margin: 0 auto; padding: 0 16px; }
header { padding: var(--sp-6) 0 var(--sp-5); }
.mark {
  font-family: "Bricolage Grotesque", Georgia, serif;
  font-weight: 700; font-size: clamp(28px, 6vw, 44px);
  letter-spacing: -0.02em; line-height: 1.1; margin: 0 0 var(--sp-3);
  color: var(--primary);
}
.tag { color: var(--muted); font-size: clamp(17px, 2.4vw, 20px); margin: 0; }
main { padding-bottom: var(--sp-6); }
.card {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--r-lg); padding: var(--sp-5); margin: var(--sp-5) 0;
}
h2 { font-family: "Bricolage Grotesque", Georgia, serif; font-size: 22px; margin: 0 0 var(--sp-3); color: var(--primary); }
p { margin: 0 0 var(--sp-4); }
p:last-child { margin-bottom: 0; }
.chip {
  display: inline-block; background: var(--secondary); color: #fff;
  border-radius: 999px; padding: 4px 12px; font-size: 13px; font-weight: 600;
  letter-spacing: .02em;
}
.cta {
  display: inline-block; background: var(--primary); color: var(--primary-on);
  text-decoration: none; font-weight: 600;
  padding: 13px 26px; border-radius: var(--r-md);
}
.cta:hover { background: var(--primary-dark); }
a { color: var(--primary); }
footer {
  border-top: 1px solid var(--border); padding: var(--sp-5) 0;
  color: var(--muted); font-size: 14px;
}
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}
