:root { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #1f241f; background:#f4f1eb; }
* { box-sizing:border-box; }
body { margin:0; }
.estimate-shell { min-height:100vh; padding:clamp(20px,5vw,64px) 16px; background:linear-gradient(180deg,#efe9df,#f8f6f1); }
.estimate-card { width:min(920px,100%); margin:auto; background:#fff; border:1px solid #ded8ce; border-radius:20px; padding:clamp(22px,5vw,52px); box-shadow:0 18px 50px rgba(0,0,0,.08); }
.estimate-card.narrow { width:min(680px,100%); }
.eyebrow { margin:0 0 6px; text-transform:uppercase; letter-spacing:.14em; font-weight:800; font-size:.78rem; color:#7c4f2b; }
h1 { margin:.1em 0 .3em; font-size:clamp(2rem,6vw,3.7rem); line-height:1; }
.intro { color:#596059; margin-bottom:28px; }
form { display:grid; gap:18px; }
.form-grid { display:grid; gap:14px; }
.form-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.form-grid.three { grid-template-columns:2fr 1fr 1fr; }
.form-grid.four { grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:14px; }
label, legend { font-weight:700; font-size:.95rem; }
input, select, textarea { width:100%; margin-top:7px; border:1px solid #bdb8af; border-radius:10px; padding:12px 13px; font:inherit; color:inherit; background:white; }
textarea { resize:vertical; }
input:focus, select:focus, textarea:focus { outline:3px solid rgba(124,79,43,.18); border-color:#7c4f2b; }
fieldset { border:1px solid #d8d2c8; border-radius:14px; padding:16px; display:grid; gap:14px; }
button { border:0; border-radius:12px; padding:14px 20px; background:#403327; color:#fff; font:inherit; font-weight:800; cursor:pointer; }
button:disabled { opacity:.6; cursor:wait; }
.consent { display:flex; align-items:flex-start; gap:9px; font-weight:500; }
.consent input { width:auto; margin-top:3px; }
.form-error { padding:12px 14px; border-radius:10px; background:#fff0ef; color:#8b241c; border:1px solid #f0b5b0; }
.measurements { border:1px solid #ded8ce; border-radius:12px; padding:12px 14px; }
.measurements summary { cursor:pointer; font-weight:800; }
.status-grid { display:grid; gap:14px; margin-top:28px; }
.status-grid div { display:grid; grid-template-columns:120px 1fr; gap:15px; border-top:1px solid #e1ddd6; padding-top:12px; }
dt { color:#686d68; } dd { margin:0; font-weight:800; }
@media (max-width:720px) { .form-grid.two,.form-grid.three,.form-grid.four { grid-template-columns:1fr; } }
