.contact-section { position: relative; overflow: hidden; isolation: isolate; }
.contact-section::before {
  content: '';
  position: absolute;
  right: -6%; bottom: -4%;
  width: min(780px, 55%); aspect-ratio: 16 / 9;
  background: url('../../images/contact_background.png') no-repeat center / contain;
  opacity: 0.55; mix-blend-mode: multiply;
  -webkit-mask-image: radial-gradient(ellipse 70% 75% at 60% 55%, #000 30%, rgba(0,0,0,0.75) 55%, transparent 95%);
          mask-image: radial-gradient(ellipse 70% 75% at 60% 55%, #000 30%, rgba(0,0,0,0.75) 55%, transparent 95%);
  pointer-events: none; z-index: 0;
}
.contact-section > .container { position: relative; z-index: 1; }
.contact__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.contact__form { display: flex; flex-direction: column; gap: 18px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-group { display: flex; flex-direction: column; gap: 6px; }
.form-input {
  font-family: var(--font-sans); font-size: 14px; color: var(--ink);
  background: var(--white); border: 1.5px solid var(--border); border-radius: var(--radius);
  padding: 12px 14px; outline: none; transition: var(--transition); width: 100%;
}
.form-input:focus { border-color: var(--gold); }
textarea.form-input { resize: vertical; }
select.form-input { appearance: none; cursor: pointer; }
.contact__info { display: flex; flex-direction: column; gap: 28px; }
.contact__info-block h4 { margin-bottom: 8px; }
.contact__info-block p { font-size: 15px; line-height: 1.8; }

@media (max-width: 1024px) {
  .contact__grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .contact-section::before {
    width: min(560px, 85%);
    aspect-ratio: 4 / 3;
    right: -4%;
    bottom: 0;
    opacity: 0.5;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.5) 28%, black 55%);
            mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.5) 28%, black 55%);
  }
}
