*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#1f2430;background:#fff8f0;line-height:1.6}
header{position:sticky;top:0;background:#fff;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;z-index:10}
.brand{font-weight:800;font-size:20px}.tagline{font-size:13px;color:#666}
main{max-width:960px;margin:0 auto;padding:16px}section{background:#fff;border:1px solid #eee;border-radius:16px;padding:20px;margin:16px 0}
h1{font-size:32px;line-height:1.25;margin:8px 0}h2{margin-top:0}
button,.btn{background:#111;color:#fff;border:0;border-radius:999px;padding:10px 18px;cursor:pointer;font-size:15px}
button.secondary{background:#eee;color:#111}.btn-link{background:none;color:#111;text-decoration:underline;padding:0}
input,textarea,select{width:100%;padding:10px;border:1px solid #ddd;border-radius:10px;margin:6px 0 14px;font-size:15px}
label{font-weight:600}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.card{border:1px solid #eee;border-radius:12px;padding:14px;background:#fffdf8}
.demo{border:1px solid #eee;border-radius:12px;padding:12px;margin:10px 0}
.notice{background:#fff3cd;border:1px solid #f0d48a;border-radius:10px;padding:10px;margin:10px 0;font-size:14px}
.price{font-size:22px;font-weight:800}.strike{text-decoration:line-through;color:#888;font-size:16px}
.step{display:none}.step.active{display:block}
.error{color:#b00020}.ok{color:#0a7a42}
table{width:100%;border-collapse:collapse}td,th{border-bottom:1px solid #eee;padding:8px;text-align:left}
footer{max-width:960px;margin:0 auto;padding:20px;color:#666;font-size:14px}
@media(max-width:600px){h1{font-size:26px}header{flex-wrap:wrap}}
