.contact { position: relative; overflow: hidden; padding: 68px 0; background: radial-gradient(circle at 86% 18%, #69449b 0%, #2d1e41 36%, #20152f 100%); }
.contact::before { content: ''; position: absolute; width: 380px; height: 380px; right: -170px; bottom: -230px; border-radius: 50%; background: #a674eb; opacity: .15; }
.contact-grid { position: relative; z-index: 1; align-items: center; }
.contact-grid > div:first-child { padding-top: 10px; }
.contact-grid h2 { font-size: clamp(36px, 3.6vw, 50px); letter-spacing: -2px; }
.contact-form { width: min(760px, calc(100% - 48px)); display: grid; grid-template-columns: 1fr 1fr; gap: 18px 26px; margin: 42px auto 0; padding: 0; border: 0; border-top: 1px solid rgba(255,255,255,.26); border-radius: 0; background: transparent; color: #fff; box-shadow: none; }
.contact-form > p, .contact-form label:last-of-type, .contact-form button { grid-column: 1 / -1; }
.contact-form > p { margin: 22px 0 0; font-size: 15px; line-height: 1.3; }
.contact-form > p small { color: #d9ccec; font-size: 12px; }
.contact-form label { color: #e9ddf7; font-size: 11px; font-weight: 700; }
.contact-form input, .contact-form textarea { width: 100%; margin-top: 6px; padding: 8px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.45); border-radius: 0; outline: none; color: #fff; background: transparent; font: inherit; font-size: 14px; resize: vertical; }
.contact-form input:focus, .contact-form textarea:focus { border-color: #f0c8ff; box-shadow: 0 1px #f0c8ff; }
.contact-form button { justify-self: start; margin: 2px 0 4px; border: 0; cursor: pointer; }
.contact-map { overflow: hidden; border: 1px solid rgba(255,255,255,.25); border-radius: 16px; background: #fff; box-shadow: 0 14px 32px rgba(14, 6, 25, .12); }
.contact-map iframe { display: block; width: 100%; height: 260px; border: 0; filter: saturate(.82) contrast(.96); }
.contact-map a { display: block; padding: 10px 14px; color: var(--d); font-size: 12px; font-weight: 700; }
.contact-map a span { margin-left: 7px; }

@media (max-width: 540px) { .contact-form { grid-template-columns: 1fr; } .contact-form label { grid-column: 1 / -1; } }
