.brand {
  display: flex;
  align-items: center;
  color: var(--ink);
  text-decoration: none;
}

.brand img {
  display: block;
  width: 178px;
  height: auto;
  border-radius: 7px;
}

.progress span { transition: none; }
.answer-price { margin-left: .55rem; color: var(--moss); font-size: .82rem; white-space: nowrap; }

.estimate-document {
  overflow: hidden;
  padding: 34px;
  border: 1px solid #cbd2cb;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 45px #23372e12;
}

.estimate-document-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
  padding-bottom: 25px;
  border-bottom: 2px solid var(--ink);
}

.estimate-wordmark { display: grid; gap: 0; line-height: .82; }
.estimate-wordmark span { color: var(--ink); font-size: .84rem; font-weight: 850; letter-spacing: .24em; }
.estimate-wordmark strong { color: var(--ink); font-family: Georgia, serif; font-size: 1.9rem; font-weight: 600; letter-spacing: -.055em; }

.estimate-document-head > div {
  display: grid;
  justify-items: end;
  gap: 5px;
  text-align: right;
}

.estimate-document-head span,
.estimate-project span {
  color: var(--muted);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .12em;
}

.estimate-document-head strong { font-size: 1rem; }
.estimate-document-head small { color: var(--muted); }

.estimate-project {
  display: grid;
  grid-template-columns: 1.15fr .85fr .85fr;
  gap: 22px;
  padding: 22px 0;
  border-bottom: 1px solid #dfe4df;
}

.estimate-project > div { display: grid; gap: 5px; }
.estimate-project strong { font-size: .92rem; }
.invoice-table { margin-top: 22px; }
.invoice-table ul { margin: 0; padding: 0; list-style: none; }

.invoice-table-head,
.invoice-table li {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(120px, .65fr) auto;
  gap: 18px;
  align-items: center;
}

.invoice-table-head {
  padding: 0 0 9px;
  border-bottom: 2px solid var(--ink);
  color: var(--muted);
  font-size: .66rem;
  font-weight: 850;
  letter-spacing: .12em;
}

.invoice-table-head span:last-child { text-align: right; }

.invoice-table li {
  padding: 11px 0;
  border-bottom: 1px solid #e5e9e5;
  font-size: .86rem;
}

.invoice-table li span { color: var(--ink); font-weight: 650; }
.invoice-table li small { color: var(--muted); }
.invoice-table li strong { text-align: right; white-space: nowrap; }
.invoice-table li.is-pending strong,
.custom-scope li.is-pending strong { color: #9d512f; }

.estimate-pending-note {
  margin: 14px 0 0;
  padding: 10px 12px;
  border: 1px solid #e3b79e;
  border-radius: 8px;
  background: #fff5ee;
  color: #74432c;
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.4;
}

.invoice-total {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 32px;
  padding: 24px 0 12px;
}

.invoice-total span { font-size: .92rem; font-weight: 800; }
.invoice-total strong { font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -.06em; }
.estimate-terms { max-width: 850px; margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.48; }

.send-quote-jump {
  display: flex;
  width: 100%;
  min-height: 70px;
  margin-top: 18px;
  border-radius: 16px;
  font-size: 1.14rem;
  letter-spacing: -.01em;
}
.send-quote-jump,
.send-quote-jump:visited,
.send-quote-jump:hover,
.send-quote-jump:focus-visible { color: #fff; text-decoration: none; }

#send-quote { scroll-margin-top: 24px; }
.review-card .form-wide { grid-column: 1 / -1; }
.review-card label > span { color: #bdc9c0; font-weight: 600; }
.review-card .pro-choice {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 2px 0 0;
  padding: 0;
  border: 0;
}
.review-card .pro-choice legend { grid-column: 1 / -1; margin-bottom: 8px; color: #fff; font-size: .86rem; font-weight: 800; }
.review-card .pro-choice label { display: flex; align-items: center; gap: 10px; min-height: 58px; padding: 12px 14px; border: 1px solid #ffffff55; border-radius: 10px; background: #ffffff0c; cursor: pointer; }
.review-card .pro-choice label:has(input:checked) { border-color: #fff; background: #fff; color: var(--ink); }
.review-card .pro-choice label:has(input:checked) span { color: var(--ink); }
.review-card .pro-choice input { flex: 0 0 auto; width: 18px; height: 18px; margin: 0; }
.review-card .phone-field small { display: block; margin-top: 7px; color: #bdc9c0; font-size: .7rem; font-weight: 500; line-height: 1.4; }
.review-card .consent-check { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border: 1px solid #ffffff55; border-radius: 10px; background: #ffffff0c; cursor: pointer; }
.review-card .consent-check input { flex: 0 0 auto; width: 18px; height: 18px; margin: 2px 0 0; }
.review-card .consent-check span { color: #dbe4dc; font-size: .7rem; font-weight: 500; line-height: 1.45; }
.review-card .consent-check:has(input:checked) { border-color: #fff; background: #ffffff17; }

.selection-summary {
  margin-top: 16px;
  padding: 0 22px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--paper);
}

.selection-summary summary { padding: 17px 0; font-weight: 800; cursor: pointer; }
.selection-summary ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 20px; margin: 0; padding: 0 0 18px; list-style: none; }
.selection-summary li { padding: 10px 0; border-top: 1px solid #e6eae6; }
.selection-summary li span,
.selection-summary li strong,
.selection-summary li small { display: block; }
.selection-summary li span { color: var(--moss); font-size: .65rem; font-weight: 800; letter-spacing: .09em; }
.selection-summary li strong { margin-top: 3px; font-size: .87rem; }
.selection-summary li small { margin-top: 2px; color: var(--muted); font-size: .76rem; }

.custom-scope-head .custom-scope-total { margin-top: 9px; font-size: 1.65rem; }
.custom-scope ul { max-height: 500px; overflow: auto; }
.custom-scope li span small { display: block; margin-top: 3px; color: var(--muted); font-size: .67rem; }

@media (max-width: 760px) {
  .brand img { width: 145px; }
  .estimate-document { padding: 20px 16px; border-radius: 14px; }
  .estimate-document-head { gap: 14px; padding-bottom: 18px; }
  .estimate-wordmark span { font-size: .64rem; }
  .estimate-wordmark strong { font-size: 1.35rem; }
  .estimate-document-head > div { gap: 3px; }
  .estimate-document-head span { font-size: .58rem; }
  .estimate-document-head strong { font-size: .78rem; }
  .estimate-document-head small { font-size: .68rem; }
  .estimate-project { grid-template-columns: 1fr; gap: 13px; padding: 18px 0; }
  .invoice-table-head,
  .invoice-table li { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
  .invoice-table-head span:nth-child(2),
  .invoice-table li small { display: none; }
  .invoice-table li { align-items: baseline; padding: 10px 0; font-size: .82rem; }
  .invoice-total { justify-content: space-between; gap: 16px; }
  .invoice-total strong { font-size: 2rem; }
  .selection-summary ul { grid-template-columns: 1fr; }
  .send-quote-jump { min-height: 62px; border-radius: 13px; font-size: 1rem; }
  .review-card input:not([type=radio]):not([type=checkbox]) { min-height: 46px; }
  .review-card .pro-choice { grid-template-columns: 1fr; }
}
