body.quote-opened{overflow:hidden}
.quote-modal[hidden]{display:none}
.quote-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px}
.quote-backdrop{position:absolute;inset:0;background:rgba(5,9,12,.72);backdrop-filter:blur(6px)}
.quote-dialog{position:relative;z-index:1;width:min(920px,100%);max-height:min(92vh,900px);overflow:auto;background:#f7f4ef;color:#0c1116;padding:42px;border:1px solid rgba(12,17,22,.12);box-shadow:0 30px 90px rgba(0,0,0,.28)}
.quote-close{position:absolute;top:18px;right:20px;width:40px;height:40px;border:0;background:transparent;color:#0c1116;font-size:2rem;line-height:1;cursor:pointer}
.quote-dialog h2{margin:0;max-width:760px;font-size:clamp(2.6rem,5vw,4.8rem);font-weight:300;line-height:.95;letter-spacing:-.055em}
.quote-intro{margin:18px 0 28px;max-width:690px;color:#626a70;font-size:.95rem}
.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.quote-dialog label{display:flex;flex-direction:column;gap:7px}
.quote-dialog label>span{font-size:.64rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#5d6469}
.quote-dialog input,.quote-dialog select,.quote-dialog textarea{width:100%;border:1px solid #c8c8c4;background:#fff;color:#0c1116;border-radius:0;padding:13px 14px;font:inherit;font-size:.94rem;outline:none}
.quote-dialog input:focus,.quote-dialog select:focus,.quote-dialog textarea:focus{border-color:#a56b29;box-shadow:0 0 0 2px rgba(165,107,41,.12)}
.quote-dialog textarea{resize:vertical;min-height:110px}
.quote-notes{margin-top:18px}
.quote-submit-row{display:flex;align-items:center;gap:20px;margin-top:24px;flex-wrap:wrap}
.quote-submit-row .btn{cursor:pointer}
.quote-submit-row .btn[disabled]{opacity:.55;cursor:not-allowed}
.quote-call{font-size:.78rem;font-weight:850;border-bottom:1px solid currentColor;padding-bottom:4px}
.quote-status{min-height:24px;margin:16px 0 0;font-size:.88rem;font-weight:700}
.quote-status.is-success{color:#1d6b3c}
.quote-status.is-error{color:#9a2d2d}
.quote-privacy{margin:10px 0 0;color:#747b80;font-size:.72rem;line-height:1.5}
.quote-privacy a{text-decoration:underline;text-underline-offset:2px}
.quote-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:720px){
  .quote-modal{padding:0;place-items:end stretch}
  .quote-dialog{width:100%;max-height:94vh;padding:32px 20px 26px;border-left:0;border-right:0;border-bottom:0}
  .quote-grid{grid-template-columns:1fr;gap:14px}
  .quote-submit-row{align-items:stretch;flex-direction:column}
  .quote-submit-row .btn{width:100%}
  .quote-call{text-align:center;align-self:center}
}

