/* Contact: clear information, an open form and the address on Google Maps. */
.contact-page{max-width:1240px;padding-bottom:96px}
.contact-intro{padding-block:64px 58px;max-width:640px}
.contact-intro h1{font-size:clamp(43px,5.2vw,70px);font-weight:400;letter-spacing:-.05em;line-height:1.06}
.contact-intro>p{font-size:20px;line-height:1.6;margin-top:22px;max-width:570px;color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-areas:"details form" "map form";gap:36px 80px;align-items:start}
.contact-info{grid-area:details}
.contact-info h2,.contact-form-section h2{font-size:31px;line-height:1.2;letter-spacing:-.03em;font-weight:400}
.contact-info address{font-style:normal;font-size:17px;line-height:1.65;margin-top:18px}
.contact-details{margin:22px 0 0}
.contact-details>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:18px;align-items:baseline;margin-top:12px}
.contact-details dt{font-size:14px;color:var(--muted)}
.contact-details dd{margin:0;font-size:17px;line-height:1.6}
.contact-details a{display:inline-block;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;overflow-wrap:anywhere}
.contact-details .contact-phone{font-size:25px;letter-spacing:-.025em}
.contact-form-section{grid-area:form;min-width:0}
.contact-form-intro{margin-top:12px;font-size:15px;color:var(--muted)}
.contact-form{margin-top:29px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px 18px}
.contact-field-wide{grid-column:1/-1}
.contact-field{min-width:0}
.contact-field label{display:block;font-size:14px;margin-bottom:9px}
.contact-field input,.contact-field textarea{display:block;width:100%;min-width:0;border:1px solid #B9ACA1;border-radius:0;background:var(--white);color:var(--ink);font:inherit;font-size:16px;line-height:1.5;padding:13px 14px}
.contact-field textarea{resize:vertical;min-height:166px;max-height:600px}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--muted);opacity:1}
.contact-field input:focus-visible,.contact-field textarea:focus-visible{outline:2px solid var(--brown);outline-offset:3px}
.contact-submit{display:flex;gap:20px;justify-content:space-between;align-items:center}
.contact-submit .btn{min-width:190px;justify-content:center}
.contact-submit>a{font-size:12px;text-decoration:underline;text-underline-offset:4px}
.contact-prototype-note{font-size:12px;color:var(--muted);margin-top:-9px}
.contact-form-status{border-left:2px solid var(--brown);padding-left:16px;font-size:15px;line-height:1.6}
.contact-form-status[hidden]{display:none}
.contact-map{grid-area:map;min-width:0}
.contact-map iframe{display:block;width:100%;height:294px;border:0;background:var(--nude);filter:grayscale(1)}
.contact-map .text-link{font-size:14px;margin-top:9px;min-height:44px;gap:8px}
@media(min-width:601px) and (max-width:1000px){.contact-grid{column-gap:40px}.contact-form{grid-template-columns:minmax(0,1fr)}.contact-submit{align-items:start;flex-direction:column;gap:14px}.contact-map iframe{height:330px}}
@media(max-width:600px){
 .contact-page{padding-bottom:50px}
 .contact-intro{padding-block:32px 38px}
 .contact-intro>p{font-size:17px;margin-top:19px}
 .contact-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"details" "form" "map";gap:38px}
 .contact-info h2,.contact-form-section h2{font-size:28px}
 .contact-info address{font-size:16px;margin-top:14px}
 .contact-details>div{margin-top:9px}
 .contact-details a{min-height:36px}
 .contact-form-section{border-top:1px solid var(--line);padding-top:32px}
 .contact-form-intro{font-size:14px;margin-top:12px}
 .contact-form{grid-template-columns:minmax(0,1fr);gap:21px;margin-top:25px}
 .contact-submit{flex-direction:column;gap:13px;align-items:center}
 .contact-submit .btn{width:100%;min-height:50px;font-size:15px}
 .contact-submit>a{min-height:32px;display:flex;align-items:center}
 .contact-prototype-note{font-size:11px;margin-top:-8px;text-align:center}
 .contact-map iframe{height:300px}
}
