.plan{padding:64px 0 90px;background:radial-gradient(ellipse at 80% 0,#28493655,transparent 50%),#061a11;min-height:80vh}
.plan-wrap{max-width:680px}
.plan-intro h1{font:500 clamp(38px,7vw,56px)/1.15 var(--serif);letter-spacing:-.04em;margin:0 0 14px}
.plan-intro p{color:#b4c4b6;font-size:15px;line-height:1.8;margin:0 0 30px}
.plan-card{background:var(--cream);color:var(--ink);padding:clamp(22px,5vw,44px);border:1px solid #ddc79d;box-shadow:12px 12px 0 #d0b47b17}
.steps{list-style:none;display:flex;gap:6px;margin:0 0 10px;padding:0;font-size:12px;font-weight:700;color:#8a8f80}
.steps li{flex:1}.steps li.on{color:#926c34}.steps li.done{color:#295d3e}
.bar{height:3px;background:#e3dac5;margin-bottom:26px}.bar span{display:block;height:100%;width:33%;background:#b18a4d;transition:width .3s}
.plan h2{font:500 28px var(--serif);letter-spacing:-.03em;margin:0 0 18px}
.plan label{display:block;font-size:13px;font-weight:700;margin-bottom:16px}
.plan select,.plan input[type=text],.plan input[type=tel],.plan input[type=date],.plan textarea{display:block;width:100%;margin-top:7px;padding:13px 12px;font:400 16px var(--sans);color:var(--ink);background:#fff;border:1px solid #cfc5ad;border-radius:3px}
.plan select:focus,.plan input:focus,.plan textarea:focus{outline:3px solid #d9b57466;border-color:#926c34}
.plan fieldset{border:0;padding:0;margin:0 0 12px}.plan legend{font-size:13px;font-weight:700;margin-bottom:8px;padding:0}
.plan label.check{display:flex;align-items:center;gap:10px;font-weight:500;margin-bottom:10px;min-height:32px}
.plan input[type=checkbox],.plan input[type=radio]{width:20px;height:20px;accent-color:#295d3e;margin:0}
.review{margin:0 0 22px;border:1px solid #e3dac5;background:#fff}
.review div{display:flex;gap:14px;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #eee7d6;font-size:14px}
.review div:last-child{border:0}.review dt{color:#69776c}.review dd{margin:0;font-weight:700;text-align:right}
.note{font-size:12px;color:#69776c;line-height:1.6}
.error{background:#fbe9e5;color:#8a2a1a;padding:11px 14px;font-size:14px;margin:6px 0 0}
.actions{display:flex;gap:12px;justify-content:flex-end;margin-top:22px}
.button-ghost{background:transparent;border:1px solid #b9ad8d;color:var(--ink)}
.plan-alt{color:#b4c4b6;font-size:14px;margin-top:22px}.plan-alt a{color:var(--gold);border-bottom:1px solid currentColor}
[hidden]{display:none!important}
