
:root{--ink:#20201e;--cream:#f5f1e9;--gold:#b18b58;--muted:#746e65;--panel:#fff;--border:#ded7ca}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
a{color:inherit}a:hover{opacity:.85}
h1,h2,h3{font-family:Georgia,serif;font-weight:normal}
h1{font-size:clamp(36px,5vw,56px);margin:0 0 14px}h2{font-size:clamp(25px,3vw,35px);margin:0 0 14px}
.site-header{background:#171716;border-bottom:1px solid #443b30;padding:0 20px}
.top-nav{display:flex;gap:clamp(10px,3vw,35px);justify-content:center;flex-wrap:wrap;padding:21px 5px}
.top-nav a{color:#eee8de;text-decoration:none;text-transform:uppercase;letter-spacing:1.4px;font-size:12px;font-weight:bold;padding:9px 7px}
.top-nav a.current,.top-nav a:hover{color:#d7b783}
.top-nav a.current{border-bottom:1px solid #b18b58}
.logo-strip{background:#1c1c1a;text-align:center;padding:25px 20px 35px}
.logo-strip img{display:block;width:min(410px,96%);margin:auto}
.hero-copy{background:#1c1c1a;color:#f5f1e9;text-align:center;padding:0 18px 36px}
.hero-copy .eyebrow{color:#d5b484;font-size:12px;letter-spacing:2px;font-weight:bold;text-transform:uppercase}
.hero-copy p{color:#d1c8bb;font-size:15px;line-height:1.65;max-width:660px;margin:0 auto}
.wrap{max-width:1150px;margin:0 auto;padding:45px 20px 70px}
.intro{max-width:830px;margin:0 auto 25px;text-align:center}
.intro p{color:#666056;line-height:1.7}
.layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(290px,.85fr);gap:24px;align-items:start}
.panel{background:white;border:1px solid var(--border);border-radius:12px;padding:clamp(18px,2.5vw,30px);box-shadow:0 6px 24px #211c1410}
.summary{position:sticky;top:18px}
.step{color:#98754b;font-size:12px;text-transform:uppercase;letter-spacing:1.3px;font-weight:bold;margin:8px 0 10px}
.muted,.help{color:#706b62;font-size:13px;line-height:1.6}
.label{font-size:13px;font-weight:bold;display:block;margin:18px 0 8px}
input,textarea,select{width:100%;font:inherit;padding:13px;border:1px solid #c9c1b5;background:white;border-radius:5px;color:#26231d}
input:focus,textarea:focus,select:focus{outline:2px solid #b18b58;outline-offset:1px}
textarea{min-height:145px;resize:vertical;line-height:1.5}
input[type=checkbox],input[type=radio]{width:auto;accent-color:#9e7b4b}
.option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:13px 0 19px}
.option{border:1px solid #d8cec0;border-radius:9px;padding:15px;display:block;cursor:pointer;min-width:0}
.option:has(input:checked){border:2px solid #ac8a5c;background:#fff9ed;padding:14px}
.option strong{display:block;margin:6px 0;font-size:15px}
.option small{display:block;color:#6f695e;font-size:12px;line-height:1.5}
.option .mini-price{color:#946e41;font-weight:bold}
.row{display:flex;align-items:center;gap:12px;justify-content:space-between}
.row>*{min-width:0}
.row input[type=number]{max-width:130px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.btn{border:none;background:#b18b58;color:#181715;font-weight:bold;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:15px 22px;min-height:47px;cursor:pointer;border-radius:4px;font-size:14px}
.btn:hover{background:#c2a16f}
.btn.secondary{background:#fff;border:1px solid #b18b58;color:#81623e}
.btn.ghost{background:transparent;border:1px solid #cfc7ba;color:#403b32}
.btn:disabled{opacity:.55;cursor:not-allowed}
.preview{margin:18px 0;background:#faf8f4;border:1px solid #e6dfd3;border-radius:8px;padding:15px}
.preview h3{font-size:19px;margin:0 0 10px}
.code-preview{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;max-height:270px;overflow:auto;color:#343029;margin:12px 0 0}
.status{font-size:13px;line-height:1.65;min-height:18px;color:#5d574e}
.status.error{color:#9c3426}
.status.ok{color:#32714d}
.line{display:flex;justify-content:space-between;gap:10px;font-size:14px;margin:14px 0;color:#524b40}
.line strong{color:#2a2927}
hr{border:0;border-top:1px solid #e8e1d6;margin:20px 0}
.total{font:40px Georgia,serif;color:#25211c}
.checkrow{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.65;color:#555044;margin:20px 0}
.checkrow input{margin-top:4px;flex:none}
.hidden{display:none!important}
.badge{background:#f0e6d6;color:#84633b;display:inline-block;padding:6px 10px;border-radius:99px;font-size:12px;font-weight:bold}
.notice{border-left:3px solid #ac8b56;background:#f6eee0;padding:14px 16px;color:#62513b;font-size:13px;line-height:1.7;margin:15px 0}
footer{background:#1c1c1a;color:#ddd;padding:30px 22px;text-align:center;font-size:12px;line-height:1.8}
footer a{color:#e1c08c}
.card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}
@media(max-width:800px){.layout{grid-template-columns:1fr}.summary{position:static}.option-grid{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}.top-nav{gap:5px;padding:12px 4px}.top-nav a{font-size:10px;letter-spacing:.4px;padding:8px 5px}.wrap{padding:25px 12px 50px}.panel{padding:18px}}
