

.contact { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 80px; }

.contact__title {
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(32px, 4vw, 46px);
  line-height: 1.16;
  color: var(--ink);
  margin: 0 0 24px;
}

.contact__lede { font-size: 17px; line-height: 1.7; color: var(--muted); margin: 0 0 48px; }

.contact__details {
  display: flex;
  flex-direction: column;
  gap: 22px;
  border-top: 1px solid var(--line-soft);
  padding-top: 36px;
}

.contact__detail { display: flex; flex-direction: column; gap: 6px; }
.contact__value { font-family: var(--display); font-size: 20px; color: var(--ink); }

.contact-form { background: var(--shell); padding: 60px 56px; }

.contact-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 24px;
}

.field { display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px; }
.contact-form__row .field { margin-bottom: 0; }

.field__label {
  font-size: 10.5px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--accent);
}

.field__input {
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--line-dot);
  border-radius: 0;
  padding: 10px 0;
  font-size: 16px;
  color: var(--ink);
  outline: none;
}
.field__input:focus { border-bottom-color: var(--ink); }
.field__input--area { resize: vertical; }
.field__input[aria-invalid="true"] { border-bottom-color: #B3261E; }

.contact-form .btn--solid { margin-top: 16px; border: none; }

.contact-form__status { margin: 18px 0 0; font-size: 14px; color: var(--muted); min-height: 1.2em; }

@media (max-width: 950px) {
  .contact { grid-template-columns: 1fr; gap: 56px; }
  .contact-form { padding: 40px 28px; }
}

@media (max-width: 560px) {
  .contact-form__row { grid-template-columns: 1fr; gap: 0; }
  .contact-form__row .field { margin-bottom: 24px; }
}

.contact__actions { margin-top: 40px; }


.contact__media .slot:has(img) { height: 100%; min-height: 420px; }


.ie-on .contact__media .slot { min-height: 260px; }

@media (max-width: 950px) {
  
  .contact__media .slot:has(img) { min-height: 0; aspect-ratio: 4 / 5; max-height: 520px; }
  .contact__actions { margin-top: 32px; }
}
