.quote-section h2{font-size:clamp(2.25rem,4.3vw,4.5rem)}
.quote-section .section-intro{max-width:790px}
.quote-disclaimer{font:.75rem/1.7 var(--mono);color:var(--accent);margin:24px 0 18px}
.quote-demo{display:grid;grid-template-columns:1.1fr 1fr;border:1px solid #497773;background:#111}
.quote-demo[hidden],.quote-error[hidden]{display:none}
.quote-inputs,.quote-summary{padding:clamp(24px,3vw,42px);min-width:0}
.quote-demo h3{font-size:1.5rem;line-height:1.2;letter-spacing:-.035em}
.quote-help{font-size:.875rem;color:var(--muted);margin-top:16px;max-width:420px}
.quote-quantities{border:0;padding:0;margin:25px 0 0;min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.quote-field{min-width:0}
.quote-field label{display:block;font-size:1rem}
.quote-field label span{display:block;color:var(--muted);font:.75rem/1.6 var(--mono);margin:4px 0 10px}
.quote-field input{display:block;width:100%;min-height:54px;border:1px solid #777;background:#090a0a;border-radius:0;color:var(--text);padding:8px 14px;font-size:1.5rem;font-variant-numeric:tabular-nums}
.quote-field input[aria-invalid=true]{border-color:#ffb5ad}
.quote-error{color:#ffb5ad;font-size:.875rem;line-height:1.5;margin:10px 0 0}
.quote-delivery{display:flex;gap:13px;align-items:center;min-height:54px;margin-top:20px;cursor:pointer}
.quote-delivery input{width:22px;height:22px;flex:none;margin:0;accent-color:var(--accent)}
.quote-delivery small{display:block;color:var(--muted);font:.75rem/1.6 var(--mono)}
.quote-private{font-size:.75rem;color:var(--muted);margin-top:22px}
.quote-summary{background:#103f3c;color:#f1faf8;display:flex;flex-direction:column}
.quote-breakdown{margin:26px 0 0;font-size:.875rem}
.quote-breakdown>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #497773}
.quote-breakdown dt{color:#d1e7e4}
.quote-breakdown dd{margin:0;white-space:nowrap;font-family:var(--mono);font-variant-numeric:tabular-nums}
.quote-total{display:flex;justify-content:space-between;gap:16px;align-items:baseline;margin-top:auto;padding-top:26px}
.quote-total>span{font-size:.875rem}
.quote-total strong{font-size:clamp(2rem,3vw,3.25rem);font-weight:500;line-height:1.2;letter-spacing:-.055em;font-variant-numeric:tabular-nums;color:var(--accent);white-space:nowrap}
.quote-status{font-size:.875rem;line-height:1.5;color:#d1e7e4;margin-top:14px;min-height:2.7em}
.quote-summary.is-invalid .quote-status{color:#ffb5ad}
.quote-package{display:flex;gap:42px;justify-content:space-between;align-items:center;margin-top:28px}
.quote-package>div{max-width:760px}
.quote-package h3{font-size:1.25rem;line-height:1.3;letter-spacing:-.025em}
.quote-package p{font-size:.875rem;color:var(--muted);margin-top:12px}
.quote-package .button{flex-shrink:0;max-width:100%;gap:18px}
.quote-unavailable{border:1px solid var(--line);padding:24px}
@media(max-width:1000px){.quote-package{align-items:flex-start;flex-direction:column;gap:22px}}
@media(max-width:760px){.quote-demo{grid-template-columns:1fr}.quote-inputs,.quote-summary{padding:24px}.quote-quantities{gap:16px}.quote-total{padding-top:24px}.quote-total strong{font-size:2.5rem}.quote-status{min-height:0}.quote-disclaimer{margin-top:20px}.quote-package .button{font-size:.8125rem}}
@media(max-width:360px){.quote-inputs,.quote-summary{padding:20px}.quote-total{align-items:flex-start;flex-direction:column;gap:10px}}
