/* GrandGuides — large-print, high-contrast, senior-friendly */
:root{
  --ink:#1a1a1a; --muted:#4a4a4a; --accent:#1b5e20; --accent-d:#144a18;
  --paper:#fffdf7; --card:#ffffff; --line:#e2dccb; --warn:#fff8e1;
}
*{box-sizing:border-box}
html{font-size:20px}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:Georgia,'Times New Roman',serif;line-height:1.75}
.top{background:var(--accent);color:#fff;padding:.9rem 1.2rem;display:flex;
  justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.6rem}
.top a{color:#fff;text-decoration:none}
.brand{font-size:1.35rem;font-weight:bold}
.top nav a{margin-left:1.1rem;font-size:1.05rem;text-decoration:underline}
.wrap{max-width:56rem;margin:0 auto;padding:1.5rem 1.2rem 3rem}
.hero{background:var(--card);border:2px solid var(--line);border-radius:14px;
  padding:2rem;margin:1.5rem 0}
.hero h1{font-size:2.3rem;line-height:1.25;margin:.2rem 0 1rem;color:var(--accent-d)}
.hero p{font-size:1.25rem}
.btn{display:inline-block;background:var(--accent);color:#fff !important;font-weight:bold;
  font-size:1.25rem;padding:.9rem 1.8rem;border-radius:10px;text-decoration:none;
  margin:.4rem .4rem .4rem 0;border:none;cursor:pointer}
.btn:hover{background:var(--accent-d)}
.btn.alt{background:#fff;color:var(--accent-d) !important;border:3px solid var(--accent)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.2rem;margin:1.5rem 0}
.card{background:var(--card);border:2px solid var(--line);border-radius:12px;padding:1.4rem}
.card h3{margin-top:0;font-size:1.45rem;color:var(--accent-d)}
.card .price{font-size:1.6rem;font-weight:bold;color:var(--accent-d)}
.meta{color:var(--muted);font-size:1.05rem}
.notice{background:var(--warn);border:2px solid #e6c200;border-radius:10px;
  padding:1.1rem 1.3rem;margin:1.4rem 0;font-size:1.1rem}
h2{font-size:1.8rem;color:var(--accent-d);margin-top:2.2rem}
h3{font-size:1.4rem}
.toc{list-style:none;padding:0}
.toc li{background:var(--card);border:1px solid var(--line);border-radius:8px;
  padding:.7rem 1rem;margin:.5rem 0;font-size:1.15rem}
.toc .n{font-weight:bold;color:var(--accent-d);margin-right:.6rem}
.faq dt{font-weight:bold;font-size:1.2rem;margin-top:1.2rem;color:var(--accent-d)}
.faq dd{margin:.4rem 0 0;font-size:1.15rem}
footer{border-top:2px solid var(--line);margin-top:3rem;padding:1.5rem 1.2rem;
  text-align:center;color:var(--muted);font-size:1.02rem}
footer a{color:var(--accent-d)}
form.buy label{display:block;font-size:1.15rem;margin:.8rem 0 .3rem;font-weight:bold}
form.buy input{font-size:1.2rem;padding:.7rem;width:100%;max-width:26rem;
  border:2px solid var(--line);border-radius:8px}
.paybox{background:var(--card);border:2px solid var(--line);border-radius:12px;
  padding:1.5rem;margin:1.5rem 0}
.err{color:#b00020;font-weight:bold}
.ok{background:#e8f5e9;border:2px solid var(--accent);border-radius:10px;padding:1.2rem;margin:1rem 0}
.big{font-size:1.3rem}
code{background:#f4f1e6;padding:.15rem .4rem;border-radius:5px;font-size:1em}
@media (max-width:40rem){ html{font-size:19px} .hero h1{font-size:1.9rem} }
