/* Focused contact and valuation pages; the form stays the main action. */
.request-page .request-layout {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  grid-template-areas: "intro form" "direct form";
  grid-template-rows: auto 1fr;
  gap: 36px 8%;
}
.request-page .utility-intro { grid-area: intro; padding-top: 4px; }
.request-page .utility-intro h1 { margin-bottom: 20px; }
.request-page .utility-intro > p:last-child { margin-bottom: 0; }
.request-page .request-card { grid-area: form; padding: clamp(28px, 3.4vw, 46px); }
.request-page .request-card h2 { font-size: clamp(28px, 2.8vw, 35px); }
.request-page .request-fields select {
  width: 100%; min-width: 0; min-height: 52px; margin-bottom: 14px; padding: 11px 13px;
  border: 1px solid #c5cec0; border-radius: 0; color: var(--ink); background: #f5f5ef; font: 16px var(--sans);
}
.request-page .request-fields select:focus { outline: 2px solid #566d57; outline-offset: 2px; }
.request-page .request-fields :is(input, textarea, select) { transition: border-color .2s ease, background-color .2s ease; }
.request-page .request-fields :is(input, textarea, select):focus { background-color: #fff; }
.request-page .request-status { padding: 20px; line-height: 1.65; }
.request-page .request-status:focus { outline: 2px solid var(--pine); outline-offset: 4px; }
.request-page .request-direct { grid-area: direct; padding-top: 26px; border-top: 1px solid #c8cfc0; }
.request-page .request-direct > .eyebrow { margin-bottom: 22px; font-size: 11px; }
.request-person + .request-person { padding-top: 22px; margin-top: 22px; border-top: 1px solid #d9ddd2; }
.request-person h2 { margin: 0 0 8px; color: var(--pine-deep); font-size: 28px; line-height: 1.2; }
.request-person > a { display: block; width: fit-content; max-width: 100%; color: #445247; font-size: 15px; line-height: 1.8; overflow-wrap: anywhere; }
.request-person .request-email { text-decoration: underline; text-decoration-color: #b3bcad; text-underline-offset: 4px; }
.request-contact-actions { display: flex; gap: 22px; margin-top: 5px; }
.request-contact-actions a { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 44px; color: var(--pine-deep); font-size: 13px; font-weight: 650; }
.request-contact-actions span { color: var(--clay-dark); transition: transform .2s ease; }
.request-contact-actions a:hover span { transform: translate(2px, -2px); }
.request-person a:hover { color: var(--clay-dark); }
.request-explainer { margin-top: 28px; padding-left: 20px; border-left: 2px solid #abb9a2; }
.request-explainer h2 { margin: 0 0 10px; font-size: 25px; line-height: 1.3; }
.request-explainer p { margin: 0 0 12px; color: var(--muted); font-size: 16px; line-height: 1.65; }
.request-explainer p:last-child { margin-bottom: 0; }
.request-explainer .request-disclaimer { color: #435143; font-size: 14px; }
@media (max-width: 900px) {
  .request-page .request-layout { grid-template-columns: 1fr; grid-template-areas: "intro" "form" "direct"; gap: 30px; }
  .request-page .request-card { width: 100%; }
  .request-page .request-direct { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; }
  .request-page .request-direct > .eyebrow { grid-column: 1 / -1; }
  .request-person + .request-person { margin-top: 0; padding-top: 0; border-top: 0; }
}
@media (max-width: 540px) {
  .request-page .utility-section { padding-top: 38px; }
  .request-page .utility-intro h1 { max-width: 360px; font-size: clamp(42px, 11vw, 56px); }
  .request-page .utility-intro > p:not(.eyebrow) { font-size: 17px; }
  .request-page .request-card { padding: 27px 22px; }
  .request-page .request-card .button { padding-inline: 14px; font-size: 13px; }
  .request-page .request-direct { grid-template-columns: 1fr; }
  .request-person + .request-person { padding-top: 22px; margin-top: 22px; border-top: 1px solid #d9ddd2; }
}
@media (prefers-reduced-motion: reduce) {
  .request-page .request-fields :is(input, textarea, select), .request-contact-actions span { transition: none; }
}
