:root{--paper:#FAF9F6;--panel:#F0EBE1;--card:#fff;--border:#E5DFD6;--ink:#1A1A1A;--ink2:#504840;--ink3:#8A8078;--red:#C0392B;--green:#2D9D6A}
[hidden]{display:none!important}
*{box-sizing:border-box}
html{font-size:18px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Plus Jakarta Sans",Arial,sans-serif;line-height:1.55}
a{color:var(--red)}
.wrap{max-width:760px;margin:0 auto;padding:0 16px 80px}
header{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1.5px solid var(--red);margin-bottom:24px}
.brand{display:flex;align-items:center;gap:10px;font-family:"Instrument Serif",Georgia,serif;font-size:1.45rem;color:var(--ink);text-decoration:none}
.brand i{width:26px;height:26px;background:var(--red);border-radius:7px;display:inline-block;position:relative}
.brand i:after{content:"";position:absolute;left:7px;top:9px;width:12px;height:9px;border:2px solid #fff;border-top:none}
.brand i:before{content:"";position:absolute;left:8px;top:4px;width:10px;height:10px;border-left:2px solid #fff;border-top:2px solid #fff;transform:rotate(45deg)}
header .call{font-size:.9rem;color:var(--ink2);text-decoration:none}
h1,h2,h3{font-family:"Instrument Serif",Georgia,serif;font-weight:400;line-height:1.15;margin:0 0 .4em}
h1{font-size:2.3rem}
h2{font-size:1.6rem;margin-top:1.4em}
.lede{color:var(--ink2);font-size:1.05rem}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:22px;margin:18px 0}
.step{display:none}.step.on{display:block}
.steps{display:flex;gap:6px;margin:8px 0 4px;flex-wrap:wrap}
.steps span{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);padding:4px 10px;border-radius:30px;background:var(--panel)}
.steps span.on{background:var(--ink);color:#fff}
label{display:block;font-weight:600;margin:14px 0 4px}
label small{display:block;font-weight:400;color:var(--ink2);font-size:.85rem}
input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;font:inherit;padding:12px 14px;border:1.5px solid var(--border);border-radius:10px;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:3px solid #f3c9c3;border-color:var(--red)}
.choice{display:grid;gap:10px}
.choice label{margin:0;font-weight:500;display:flex;gap:12px;align-items:flex-start;padding:14px;border:1.5px solid var(--border);border-radius:12px;background:#fff;cursor:pointer}
.choice input{margin-top:5px;transform:scale(1.3)}
.choice label:has(input:checked){border-color:var(--red);background:#fff7f5}
.price{margin-left:auto;font-weight:700;white-space:nowrap}
.btn{display:inline-block;font:inherit;font-weight:700;border:none;border-radius:50px;padding:14px 28px;background:var(--red);color:#fff;cursor:pointer;text-decoration:none}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--border)}
.btn:disabled{opacity:.5;cursor:wait}
.row{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-top:22px;flex-wrap:wrap}
.days{display:grid;gap:14px}
.day h3{font-size:1.15rem;margin:0 0 6px}
.times{display:flex;gap:8px;flex-wrap:wrap}
.times button{font:inherit;padding:10px 16px;border-radius:30px;border:1.5px solid var(--border);background:#fff;cursor:pointer}
.times button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.note{background:var(--panel);border-left:3px solid var(--ink2);padding:12px 16px;border-radius:6px;margin:14px 0;font-size:.95rem}
.note.red{border-left-color:var(--red)}
.err{color:var(--red);font-weight:600;margin:10px 0}
.agreement{max-height:420px;overflow:auto;border:1px solid var(--border);border-radius:10px;padding:16px 18px;background:#fff;font-size:.95rem}
.agreement h4{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:1.2rem;margin:14px 0 4px}
.agreement h4 span{color:var(--red)}
.agreement table{width:100%;border-collapse:collapse;font-size:.9rem}
.agreement td{border-bottom:1px solid var(--border);padding:5px 6px;vertical-align:top}
.agreement td:first-child{color:var(--ink2);width:42%}
.sigbox{border:2px dashed var(--ink3);border-radius:10px;background:#fff;touch-action:none;width:100%;height:170px;display:block}
.check{display:flex;gap:12px;align-items:flex-start;font-weight:500;margin:12px 0}
.check input{transform:scale(1.4);margin-top:6px}
.sum{width:100%;border-collapse:collapse;margin:10px 0}
.sum td{padding:6px 0;border-bottom:1px solid var(--border)}
.sum td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.sum tr.total td{font-weight:700;border-bottom:none}
.test{background:#1A1A1A;color:#fff;padding:8px 14px;border-radius:8px;font-weight:700;margin-bottom:10px}
footer{color:var(--ink3);font-size:.8rem;margin-top:40px;border-top:1px solid var(--border);padding-top:12px}
@media (max-width:520px){html{font-size:17px}h1{font-size:1.9rem}.card{padding:16px}}
