/* Contact and consultation request pages. */
.request-page{padding-block:64px 90px}
.request-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-rows:auto 1fr;grid-template-areas:"intro form" "sidebar form";align-items:start;column-gap:clamp(36px,6vw,90px);row-gap:0}
.request-intro{grid-area:intro}
.request-card{grid-area:form}
.request-sidebar{grid-area:sidebar}
.request-intro h1{font-size:clamp(42px,4.5vw,64px);margin-bottom:26px}
.request-intro>.lead{max-width:490px;font-size:18px}
.request-sidebar{margin-top:36px;padding:28px;background:var(--wash);border:1px solid var(--border);border-radius:8px}
.request-sidebar h2{font-size:25px;letter-spacing:-.025em;margin-bottom:18px}
.request-sidebar p,.request-steps{font-size:14px;line-height:1.7}
.request-sidebar-contact{display:grid;gap:6px;padding-top:22px;margin-top:24px;border-top:1px solid var(--border)}
.request-sidebar-contact .eyebrow{font-size:10px;margin:0 0 6px}
.request-sidebar-contact a{font-size:14px;color:var(--purple);font-weight:600}
.request-sidebar-contact a:hover{text-decoration:underline;text-underline-offset:4px}
.request-email{overflow-wrap:anywhere}
.request-sidebar-footnote{margin-top:20px;margin-bottom:20px}
.request-sidebar .text-link{font-size:13px;gap:12px;flex-wrap:wrap}
.request-steps{padding-inline-start:20px;margin:0;color:var(--muted)}
.request-steps li{padding-inline-start:6px;margin-bottom:18px}
.request-steps li:last-child{margin-bottom:0}
.request-steps strong{display:block;color:var(--ink);font-weight:600;margin-bottom:5px}
.request-steps span{display:block}
.request-card{min-inline-size:0;background:white;border:1px solid var(--border);border-radius:9px;padding:clamp(24px,3vw,38px);box-shadow:0 12px 45px #2c1b1607}
.request-card h2{font-size:29px;letter-spacing:-.035em;margin-bottom:14px}
.request-card-intro{font-size:13px;line-height:1.6;margin-bottom:28px}
.request-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.request-field{min-inline-size:0;margin-bottom:22px}
.request-form label{display:block;font-size:14px;font-weight:600;line-height:1.5;margin-bottom:8px}
.request-optional{color:var(--muted);font-size:12px;font-weight:400}
.required-indicator{color:var(--purple)}
.request-form input,.request-form select,.request-form textarea{display:block;inline-size:100%;min-inline-size:0;max-inline-size:100%;min-block-size:48px;border:1px solid #a48a78;border-radius:5px;background:#fff;color:var(--ink);padding:11px 12px;font:inherit;font-size:16px;line-height:1.5}
.request-form [hidden]{display:none!important}
.request-form textarea{resize:vertical;min-block-size:140px}
.request-form input:focus-visible,.request-form select:focus-visible,.request-form textarea:focus-visible{outline:2px solid var(--purple);outline-offset:3px}
.request-field-note{font-size:12px;line-height:1.65;margin:9px 0 0;color:var(--muted)}
.request-scheduling-note{margin:-7px 0 22px}
.request-privacy{font-size:12px;line-height:1.7;margin-bottom:23px}
.request-privacy a{color:var(--purple);text-decoration:underline;text-underline-offset:3px}
.request-submit{inline-size:100%;min-block-size:52px;gap:20px}
.confirmation-card{max-inline-size:760px;margin-inline:auto;padding:clamp(28px,5vw,60px);background:white;border:1px solid var(--border);border-radius:9px}
.confirmation-card h1{font-size:clamp(40px,5vw,60px)}
.confirmation-card p{max-inline-size:610px}
.confirmation-card p a{color:var(--purple);text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.request-layout{grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:"intro" "form" "sidebar";gap:34px}.request-intro>.lead{max-width:650px}.request-sidebar{margin-top:0}.request-card{max-inline-size:680px;inline-size:100%}}
@media(max-width:500px){.request-page{padding-block:36px 60px}.request-intro h1{font-size:43px}.request-intro>.lead{font-size:17px}.request-form-row{grid-template-columns:1fr;gap:0}.request-card,.request-sidebar{padding:24px 21px}.request-card h2{font-size:26px}.request-sidebar h2{font-size:24px}}
