:root {
  color-scheme: light;
  --ink: #18322c;
  --muted: #5d6e69;
  --green: #1d5c4e;
  --mint: #dceee7;
  --paper: #fbfcf9;
  --line: #dce4df;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", sans-serif;
  line-height: 1.75;
}

header {
  padding: 28px 20px;
  background: var(--green);
  color: white;
}

header div, main, footer {
  width: min(760px, 100%);
  margin: 0 auto;
}

header a { color: white; text-decoration: none; }
header p { margin: 4px 0 0; opacity: .82; }

main { padding: 36px 20px 64px; }

h1 { margin: 0; font-size: clamp(1.8rem, 5vw, 2.5rem); line-height: 1.25; }
h2 { margin: 2.2rem 0 .6rem; font-size: 1.25rem; }
p, ul { margin: .6rem 0; }

.lead {
  padding: 20px;
  border-radius: 16px;
  background: var(--mint);
  font-size: 1.05rem;
}

.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
  margin-top: 24px;
}

.card {
  display: block;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 16px;
  color: inherit;
  background: white;
  text-decoration: none;
}

.card:hover { border-color: var(--green); }
.card strong { display: block; color: var(--green); font-size: 1.08rem; }
.card span { color: var(--muted); }

a { color: var(--green); }
.updated { color: var(--muted); font-size: .9rem; }

footer {
  padding: 22px 20px 40px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: .9rem;
}
