
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.55 var(--body-font)}
a{color:var(--accent)}
header.site,footer.site{max-width:44rem;margin:0 auto;padding:1rem 1.25rem;display:flex;justify-content:space-between;gap:1rem}
header.site a.brand{font-weight:700;color:var(--ink);text-decoration:none}
footer.site{color:var(--muted);font-size:.85rem;border-top:1px solid var(--line);margin-top:3rem}
main{max-width:44rem;margin:0 auto;padding:0 1.25rem}
h1,h2{font-family:var(--heading-font);line-height:1.2}
h1{font-size:2rem;margin:.5rem 0}
.sub{color:var(--muted);font-size:1.1rem;margin-top:0}
.notice{border:2px dashed #b54708;background:#fff7ed;color:#7a2e0e;padding:.75rem 1rem;border-radius:.5rem;font-size:.95rem}
.price{font-size:1.5rem;font-weight:700}
.btn{display:inline-block;background:var(--accent);color:var(--accent-ink);border:0;border-radius:.5rem;padding:.85rem 1.4rem;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}
.btn:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.cards{list-style:none;padding:0;display:grid;gap:1rem}
.card{border:1px solid var(--line);border-radius:.75rem;padding:1rem 1.25rem;background:#fff}
.card h2{margin:.25rem 0;font-size:1.25rem}
.meta{color:var(--muted);font-size:.9rem}
fieldset{border:1px solid var(--line);border-radius:.75rem;margin:0 0 1rem;padding:1rem 1.25rem;background:#fff}
legend{font-weight:700;padding:0 .25rem}
label.opt{display:flex;gap:.6rem;align-items:center;padding:.35rem 0}
textarea{width:100%;font:inherit;padding:.6rem;border:1px solid var(--line);border-radius:.5rem}
.err{color:#b42318;font-weight:600;margin:.25rem 0 0}
.steps{color:var(--muted);font-size:.9rem}
