:root{
  --bg:#faf9f6; --surface:#fff; --ink:#1a1d1b; --muted:#5c655e;
  --line:#e2e0d8; --accent:#3f6b4f; --accent-ink:#fff;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#101418; --surface:#171d22; --ink:#e6e9e5; --muted:#98a29b;
    --line:#28323a; --accent:#7cb58d; --accent-ink:#13201a;
  }
}
*{box-sizing:border-box}
body{
  margin:0; padding:0 20px 80px; background:var(--bg); color:var(--ink);
  font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:700px;margin:0 auto}
header{padding:56px 0 22px;border-bottom:1px solid var(--line)}
h1{font-size:clamp(26px,5vw,36px);line-height:1.15;margin:0;letter-spacing:-.02em}
.app{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.updated{color:var(--muted);font-size:14px;margin:16px 0 0}
h2{font-size:19px;margin:34px 0 8px;letter-spacing:-.01em}
p{margin:0 0 14px}
ul{margin:0 0 14px;padding-left:22px}
li{margin-bottom:6px}
a{color:var(--accent);text-underline-offset:3px}
a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
footer{margin-top:46px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}

/* ---- landing page (index.html) ---- */
.landing{max-width:960px}
.landing header{border:0;padding:48px 0 0;display:flex;align-items:center;gap:14px}
.landing header img{width:44px;height:44px;border-radius:11px}
.landing header .app{margin:0;font-size:15px;letter-spacing:.02em;text-transform:none;color:var(--ink);font-weight:600}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:48px 0 24px}
.hero h1{font-size:clamp(30px,5vw,46px);line-height:1.08;margin:0 0 18px}
.hero .lead{font-size:19px;color:var(--muted);margin:0 0 26px;max-width:34em}
.hero img{width:100%;max-width:360px;display:block;margin:0 auto;border-radius:22px;border:1px solid var(--line);box-shadow:0 24px 60px -30px rgba(0,0,0,.45)}
.cta{display:inline-flex;align-items:center;gap:10px;background:var(--accent);color:var(--accent-ink);
  text-decoration:none;font-weight:600;padding:13px 20px;border-radius:12px;font-size:16px}
.cta:hover{filter:brightness(1.06)}
.cta svg{width:20px;height:20px}
.fine{display:block;margin-top:12px;color:var(--muted);font-size:14px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:36px 0;border-top:1px solid var(--line)}
.row:nth-child(even) .shot{order:-1}
.row h2{font-size:clamp(22px,3vw,28px);margin:0 0 12px;line-height:1.2}
.row p{color:var(--muted);font-size:17px}
.row .shot img{width:100%;max-width:300px;display:block;margin:0 auto;border-radius:18px;border:1px solid var(--line)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:36px 0;border-top:1px solid var(--line)}
.grid h3{font-size:16px;margin:0 0 6px}
.grid p{color:var(--muted);font-size:15px;margin:0}
.plans{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:36px 0;border-top:1px solid var(--line)}
.plan{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px}
.plan h3{margin:0 0 4px;font-size:18px}
.plan .price{color:var(--muted);margin:0 0 14px;font-size:15px}
.plan ul{margin:0;padding-left:20px}
.plan li{margin-bottom:4px;font-size:15px}
.landing footer{display:flex;flex-wrap:wrap;gap:8px 22px}
.landing footer a{color:var(--muted)}
@media (max-width:720px){
  .hero,.row,.plans{grid-template-columns:1fr;gap:26px}
  .row:nth-child(even) .shot{order:0}
  .grid{grid-template-columns:1fr}
  .hero{padding-top:28px}
  .hero img{max-width:280px}
}
