:root {
  --bg: #fbf8f3; --fg: #1f2421; --muted: #5b625d; --line: #e4ddd2;
  --accent: #1c6b46; --accent-fg: #fff; --soft: #eef4ef;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #151816; --fg: #ecefe9; --muted: #a7aea8; --line: #2b302c;
          --accent: #5cc48f; --accent-fg: #0d1a13; --soft: #1c2420; }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--fg);
       font: 17px/1.6 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.wrap { max-width: 44rem; margin: 0 auto; padding: 0 1rem; }
header.top { padding: 1.25rem 0; border-bottom: 1px solid var(--line); }
header.top a { color: var(--fg); text-decoration: none; font-weight: 700; font-size: 1.15rem; }
main { padding: 2.5rem 0 3rem; }
h1 { font-size: clamp(1.9rem, 6vw, 2.6rem); line-height: 1.15; margin: 0 0 1rem; text-wrap: balance; }
h2 { font-size: 1.35rem; margin: 2.75rem 0 .75rem; text-wrap: balance; }
h3 { font-size: 1.05rem; margin: 1.5rem 0 .25rem; }
p, li { color: var(--fg); }
.lead { font-size: 1.15rem; color: var(--muted); }
.notice { background: var(--soft); border: 1px solid var(--line); border-radius: .75rem; padding: 1rem 1.25rem; }
ol.steps { padding-left: 1.25rem; }
ol.steps li { margin: .5rem 0; }
.prices { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: .75rem; margin: 1rem 0; }
.price { border: 1px solid var(--line); border-radius: .75rem; padding: 1rem 1.25rem; }
.price strong { display: block; font-size: 1.6rem; font-variant-numeric: tabular-nums; }
.price span { color: var(--muted); font-size: .95rem; }
a { color: var(--accent); }
code { background: var(--soft); padding: .05rem .35rem; border-radius: .3rem; }
footer { border-top: 1px solid var(--line); padding: 1.5rem 0 2.5rem; color: var(--muted); font-size: .95rem; }
footer a { color: var(--muted); }
