.contact.contact-project {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(28px, 4.2vw, 76px);
  align-items: start;
  padding: clamp(28px, 4.4vw, 76px);
}

.contact-project-kicker {
  display: flex;
  gap: 11px;
  align-items: center;
  color: #e6edff;
  text-transform: uppercase;
}

.contact-project-kicker::before {
  content: "";
  width: 9px;
  height: 9px;
  background: var(--yellow);
  box-shadow: 4px 4px 0 #ffffff50;
}

.contact-project h2 {
  font-size: clamp(32px, 3.6vw, 62px);
  line-height: 1.08;
  margin: 21px 0;
}

.contact-project h2 span { color: #dce5ff; }

.contact-project-lead {
  max-width: 43ch;
  margin: 0 0 26px;
  font-size: clamp(15px, 1.3vw, 19px);
  line-height: 1.65;
  color: #f1f4ff;
}

.contact-coordinates { margin: 0; }
.contact-coordinates > div {
  display: grid;
  grid-template-columns: minmax(86px, 0.26fr) 1fr;
  gap: 9px 12px;
  align-items: baseline;
  padding: 14px 0;
  border-top: 1px solid #ffffff40;
}
.contact-coordinates > div:last-child { border-bottom: 1px solid #ffffff40; }
.contact-coordinates dt {
  font: 600 11px/1.5 var(--mono);
  letter-spacing: .055em;
  text-transform: uppercase;
  color: #ffe269;
}
.contact-coordinates dd { margin: 0; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.contact-coordinates address { font-style: normal; }
.contact-coordinates a { text-decoration: underline; text-underline-offset: 4px; }

.contact-project-form {
  display: grid;
  gap: 19px;
  min-width: 0;
  padding: clamp(20px, 2.6vw, 40px);
  background: #f5f6f2;
  color: #172126;
  border-radius: 18px;
  box-shadow: 8px 8px 0 #12237a;
}
.project-form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.project-field { display: grid; gap: 8px; min-width: 0; }
.project-field label { font-size: 13px; font-weight: 600; line-height: 1.45; }
.project-field label span { color: #59676f; font-size: 11px; font-weight: 400; }
.project-field :is(input, select, textarea) {
  width: 100%;
  min-width: 0;
  min-height: 47px;
  padding: 10px 12px;
  border: 1px solid #b8c1c4;
  border-radius: 8px;
  font: inherit;
  font-size: 16px;
  color: #172126;
  background: #fff;
}
.project-field select { padding-right: 28px; text-overflow: ellipsis; }
.project-field textarea { resize: vertical; min-height: 123px; }
.project-field :is(input, select, textarea):focus-visible,
.contact-project a:focus-visible,
.project-submit:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
.project-submit.button {
  justify-self: start;
  color: #172126;
  background: var(--yellow);
  border: 0;
  cursor: pointer;
  min-height: 49px;
}
.project-submit.button:hover { background: #ffdb48; }
.project-submit:disabled { opacity: .55; cursor: default; }
.project-form-note { margin: 0; font-size: 12px; line-height: 1.55; color: #48555c; }

@media (max-width: 900px) {
  .contact.contact-project { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 520px) {
  .contact.contact-project { padding: 23px 17px 27px; gap: 26px; }
  .contact-project h2 { font-size: clamp(30px, 8vw, 42px); }
  .project-form-row { grid-template-columns: minmax(0, 1fr); }
  .contact-project-form { box-shadow: 5px 5px 0 #12237a; }
}
