/* The photo and the writing surface share one frame. Only the photo has an overlay. */
#estimate {
  --ink: #292d23;
  --olive: #414b32;
  --paper: #f6f2e9;
  --rule: #c9c6b9;
  padding: clamp(34px,6vw,92px) 0;
  background: #23271e;
}
#estimate .estimate-layout {
  display: grid;
  grid-template-columns: minmax(0,.83fr) minmax(0,1fr);
  width: min(1120px,91%);
  gap: 0;
  align-items: stretch;
}
#estimate .estimate-intro {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  background: #3c3b2d;
  color: #fffaf0;
}
#estimate .estimate-photo,#estimate .estimate-intro::before {
  position:absolute; inset:0; width:100%; height:100%;
}
#estimate .estimate-photo { object-fit:cover; object-position:center 42%; z-index:-2 }
#estimate .estimate-intro::before {
  content:''; z-index:-1;
  background: linear-gradient(180deg,rgba(21,25,17,.06) 4%,rgba(21,25,17,.15) 28%,rgba(21,25,17,.78) 64%,rgba(21,25,17,.94) 100%);
}
#estimate .estimate-intro-copy { padding:clamp(24px,3.8vw,55px); width:100% }
#estimate .estimate-intro .eyebrow { color:#e0e1c9; margin:0 0 14px }
#estimate .estimate-intro h2 {
  margin:0;
  color:inherit;
  font:400 clamp(42px,5vw,72px)/1.02 Georgia,serif;
  letter-spacing:-.044em;
}
#estimate .estimate-intro p { color:#f0eee5; margin:16px 0 0; max-width:33ch; font-size:16px; line-height:1.55 }
#estimate-form {
  min-width:0; align-self:stretch;
  background:var(--paper); color:var(--ink);
  padding:clamp(26px,3.8vw,54px);
}
#estimate-form h3 {font:400 clamp(27px,3vw,37px)/1.08 Georgia,serif; letter-spacing:-.025em; margin:0 0 22px}
#estimate-form label {color:var(--ink); font-size:14px; font-weight:600; line-height:1.4}
#estimate-form .estimate-required {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.estimate-location {grid-column:1/-1}
#estimate-form input:not([type=checkbox]),#estimate-form select,#estimate-form textarea {
  font-family:inherit; font-size:16px; font-weight:400; line-height:1.4;
  border:1px solid #999d8b; background:#fffdf8; color:var(--ink);
  min-height:45px; padding:9px 11px; margin:5px 0 0;
}
#estimate-form input::placeholder,#estimate-form textarea::placeholder {color:#6a6e60;opacity:1}
#estimate-form textarea {min-height:79px}
#estimate-form :is(summary,input,textarea,select,button,a):focus-visible {outline:2px solid #52603a;outline-offset:3px}
#estimate-form .estimate-options {border-block:1px solid var(--rule);margin:18px 0 5px}
#estimate-form summary {
  display:flex;align-items:center;gap:8px;min-height:47px;
  cursor:pointer;list-style:none;font-size:14px;font-weight:600
}
#estimate-form summary::-webkit-details-marker {display:none}
.estimate-optional {font-size:12px;font-weight:400;color:#636757}
.estimate-disclosure {position:relative;width:12px;height:12px;margin-left:auto}
.estimate-disclosure::before,.estimate-disclosure::after {
  content:'';position:absolute;top:5px;left:0;width:12px;height:1.5px;background:var(--olive)
}
.estimate-disclosure::after {transform:rotate(90deg)}
.estimate-options[open] .estimate-disclosure::after {opacity:0}
.estimate-extra {display:grid;gap:14px;padding:0 0 16px}
#estimate-form .estimate-text-choice {font-size:14px;font-weight:400;min-height:44px}
#estimate-form .estimate-text-choice input {width:18px;height:18px;accent-color:var(--olive)}
#estimate-form #request-estimate,#estimate-form #estimate-another {
  background:var(--olive);color:#fffdf5;border:1px solid var(--olive);min-height:47px;
  font:600 15px/1.25 Arial,sans-serif;letter-spacing:.01em;text-transform:none;justify-content:center
}
#estimate-form #request-estimate {display:flex;width:100%;gap:16px;margin-top:8px}
#estimate-form .button:hover {background:#303927}
#estimate-form .estimate-privacy {color:#5d6255;margin:8px 0 0;font-size:12px}
#estimate-form #status {color:var(--ink);margin:0}
#estimate-form #status:not(:empty) {margin:15px 0 0}
#estimate-form[data-sent] #status {border:0;margin:0;padding:0;font:italic 400 clamp(23px,3vw,34px)/1.35 Georgia,serif;color:var(--ink)}
#estimate-form .rt-party-dismiss {color:var(--olive)}
#estimate-form #estimate-help {color:var(--ink)}
#estimate-form .estimate-direct {display:flex;flex-wrap:wrap;align-items:center;gap:0 16px;border-top:1px solid var(--rule);margin-top:24px;padding-top:13px}
#estimate-form .estimate-direct p {width:100%;font-size:13px;color:#5d6255;margin:0}
#estimate-form .estimate-direct a {display:inline-flex;align-items:center;min-height:40px;color:var(--olive);font-size:14px;text-underline-offset:3px;overflow-wrap:anywhere;max-width:100%}
@media(max-width:720px){
  #estimate {padding:24px 0}
  #estimate .estimate-layout {width:min(92%,540px);grid-template-columns:minmax(0,1fr)}
  #estimate .estimate-intro {min-height:204px}
  #estimate .estimate-intro-copy {padding:22px}
  #estimate .estimate-intro::before {background:linear-gradient(90deg,rgba(21,25,17,.9),rgba(21,25,17,.77) 49%,rgba(21,25,17,.16) 100%)}
  #estimate .estimate-intro .eyebrow {margin-bottom:10px}
  #estimate .estimate-intro h2 {font-size:clamp(37px,8vw,47px)}
  #estimate .estimate-intro p {max-width:29ch;font-size:14px;line-height:1.45;margin-top:11px}
  #estimate-form {padding:22px}
  #estimate-form h3 {font-size:28px;margin-bottom:16px}
  #estimate-form .estimate-required {gap:12px}
}
@media(max-width:375px){
  #estimate .estimate-layout {width:94%}
  #estimate-form,#estimate .estimate-intro-copy {padding:18px}
  #estimate-form .estimate-required {grid-template-columns:minmax(0,1fr)}
}
