/* The paid pages use the same navy, warm white, and gold as their project work. */
.service-estimate {
  padding: 76px 0;
  background: var(--refresh-navy);
  color: #fff;
}

.service-estimate-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  align-items: start;
  gap: clamp(32px, 6vw, 80px);
}

.service-estimate-copy { padding-top: 14px; }
.service-estimate .refresh-eyebrow { color: var(--refresh-gold-light); }
.service-estimate-copy h2 {
  margin: 14px 0 20px;
  color: #fff;
  font-family: 'DM Serif Display', Georgia, serif;
  font-size: clamp(34px, 4vw, 48px);
  font-weight: 400;
  line-height: 1.12;
}
.service-estimate-copy p { max-width: 440px; color: #e0e6ef; line-height: 1.75; }
.service-estimate-contact { margin: 24px 0; }
.service-estimate-contact a {
  display: inline-block;
  margin: 0 16px 10px 0;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.service-estimate-copy .service-estimate-scope { font-size: 13px; }
.service-estimate-scope a { color: #fff; text-underline-offset: 3px; }

.service-estimate-card {
  min-width: 0;
  padding: clamp(22px, 3vw, 36px);
  border: 1px solid #e6dfd2;
  border-radius: 16px;
  background: var(--refresh-paper);
  color: var(--refresh-ink);
  box-shadow: var(--refresh-shadow);
}
.service-estimate-card h3 { margin: 0 0 9px; color: var(--refresh-navy); font-size: 22px; line-height: 1.3; }
.service-estimate-card > p { margin: 0 0 24px; color: var(--refresh-slate); font-size: 14px; line-height: 1.6; }
.service-estimate-form { display: grid; gap: 16px; }
.service-estimate-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.service-estimate-form label { display: grid; min-width: 0; gap: 7px; color: var(--refresh-navy); font-size: 13px; font-weight: 700; }
.service-estimate-form label small { color: var(--refresh-slate); font-size: 12px; font-weight: 400; }
.service-estimate-form input:not([type="checkbox"]),
.service-estimate-form select {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 48px;
  border: 1px solid #b5bfcc;
  border-radius: 6px;
  padding: 11px 12px;
  background: #fff;
  color: var(--refresh-ink);
  font: inherit;
  font-size: 16px;
  font-weight: 400;
}
.service-estimate-form :where(input, select):focus-visible { outline: 2px solid var(--refresh-navy); outline-offset: 2px; }
.service-estimate-form button {
  min-height: 50px;
  border: 0;
  border-radius: 6px;
  padding: 14px 18px;
  background: #e4b86f;
  color: #0b1d3a;
  font: inherit;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
}
.service-estimate-form button:hover { background: #edc68a; }
.service-estimate-form button:disabled { opacity: 0.65; cursor: wait; }
.service-estimate-form .service-estimate-note { margin: 0; font-size: 12px; line-height: 1.6; color: var(--refresh-slate); }
.service-estimate-note a { color: var(--refresh-navy); text-underline-offset: 3px; }
.service-estimate-form .service-estimate-honeypot { display: none; }
.service-estimate-captcha { min-height: 78px; }
.service-estimate-error { margin: 0; padding: 12px; border-radius: 6px; background: #fff0eb; color: #872d1b; font-size: 14px; line-height: 1.5; }
.service-estimate-success p { font-size: 15px; line-height: 1.7; color: var(--refresh-slate); }
.service-estimate-success a { color: var(--refresh-navy); font-weight: 700; }
.service-estimate [hidden] { display: none !important; }

@media (max-width: 760px) {
  .service-estimate { padding: 48px 0; }
  .service-estimate-grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .service-estimate-copy { padding-top: 0; }
  .service-estimate-copy h2 { max-width: 540px; font-size: clamp(30px, 7vw, 42px); }
  .service-estimate-copy p { max-width: none; }
  .service-estimate-contact { margin: 20px 0 8px; }
}
@media (max-width: 420px) {
  .service-estimate-row { grid-template-columns: minmax(0, 1fr); }
  .service-estimate-captcha { min-height: 144px; }
}
