:root {
  --bg: #f7f5f0;
  --surface: #ffffff;
  --text: #1f2421;
  --muted: #6b716d;
  --line: #e4e0d7;
  --accent: #2f6f5e;
  --accent-soft: #e3efe9;
  --warn-soft: #f8ece1;
  --radius: 14px;
  color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #161917;
    --surface: #1f2421;
    --text: #ecebe6;
    --muted: #9ba19d;
    --line: #2f3531;
    --accent: #7cc4ad;
    --accent-soft: #24332d;
    --warn-soft: #3a2e24;
  }
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font: 16px/1.55 ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--accent); }
img { max-width: 100%; display: block; }

.wrap { width: min(1080px, 100% - 2rem); margin-inline: auto; padding-block: 2.5rem 4rem; }
.empty { min-height: 80vh; display: grid; place-items: center; color: var(--muted); text-align: center; }

.page-header { margin-bottom: 2rem; }
.page-header h1 { font-size: clamp(1.8rem, 5vw, 2.6rem); line-height: 1.15; margin: 0 0 .5rem; letter-spacing: -.02em; }
.page-header p { color: var(--muted); margin: 0; max-width: 60ch; }

.eyebrow { text-transform: uppercase; letter-spacing: .08em; font-size: .75rem; font-weight: 600; color: var(--accent); margin-bottom: .5rem; }

.card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }

.chip { display: inline-block; padding: .15rem .6rem; border-radius: 999px; background: var(--accent-soft); color: var(--accent); font-size: .8rem; font-weight: 600; }

.footer { margin-top: 3rem; color: var(--muted); font-size: .85rem; }
