.contact-form{ display:flex; flex-direction:column; gap:20px; }
.field{ display:flex; flex-direction:column; gap:8px; flex:1; }
.field-row{ display:flex; gap:20px; }
label{
  font-family:var(--f-label); font-size:.74rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--c-brown); 
}
input, textarea{
  font-family:var(--f-body); font-size:1rem; color:var(--c-ink);
  background:var(--c-white); border:1px solid var(--c-line);
  padding:13px 14px; border-radius:1px; resize:vertical;
}
input:focus, textarea:focus{ border-color:var(--c-gold); outline:none; }
.contact-form .btn{ align-self:flex-start; }
.form-status{ font-family:var(--f-label); font-size:.82rem; color:var(--c-gold); min-height:1.2em; }

.contact-info{ list-style:none; margin:22px 0 0; padding:0; }
.contact-info li{ padding:10px 0; border-bottom:1px solid var(--c-line); font-size:.98rem; }
.contact-info li:last-child{ border-bottom:0; }
.contact-info a:hover{ color:var(--c-gold); }

.map-frame{
  position:relative; width:100%; padding-bottom:42%; min-height:320px;
  border:1px solid var(--c-line); box-shadow:var(--shadow-frame);
}
.map-frame iframe{
  position:absolute; inset:0; width:100%; height:100%; border:0; filter:saturate(.85) contrast(1.02);
}

@media (max-width:640px){
  .field-row{ flex-direction:column; }
  .map-frame{ padding-bottom:90%; }
}
