.contact-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: var(--sp-16); align-items: start; }

.contact-info h2 { font-size: 1.8rem; margin-bottom: var(--sp-3); }
.contact-info > p { margin-bottom: var(--sp-8); }

.info-list { display: flex; flex-direction: column; gap: var(--sp-6); }
.info-item { display: flex; gap: var(--sp-4); }
.info-item__icon {
  width: 46px; height: 46px; flex-shrink: 0; border-radius: var(--r-sm);
  background: var(--green-soft); color: var(--brand);
  display: grid; place-items: center;
}
.info-item__icon svg { width: 22px; height: 22px; }
.info-item h3 { font-size: .8rem; font-family: var(--font-sans); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-mute); margin-bottom: 4px; }
.info-item p, .info-item a { font-size: 1rem; color: var(--ink); line-height: 1.5; }
.info-item a:hover { color: var(--brand); }

.map {
  margin-top: var(--sp-8); border-radius: var(--r-md); overflow: hidden;
  border: 1px solid var(--line); box-shadow: var(--shadow-sm);
  aspect-ratio: 16/10; background: var(--paper-2);
}
.map iframe { width: 100%; height: 100%; border: 0; display: block; filter: grayscale(.25) contrast(1.02); }

.contact-form-wrap .form-card { padding: clamp(var(--sp-6), 4vw, var(--sp-12)); }
.contact-form-wrap h2 { font-size: 1.8rem; margin-bottom: var(--sp-2); }
.contact-form-wrap > p { color: var(--ink-mute); margin-bottom: var(--sp-8); font-size: .95rem; }
.contact-form-wrap .btn { width: 100%; justify-content: center; margin-top: var(--sp-2); }

.contact-success { text-align: center; padding: var(--sp-12) var(--sp-6); }
.contact-success__check {
  width: 70px; height: 70px; margin: 0 auto var(--sp-6); border-radius: 50%;
  background: var(--green-soft); color: var(--brand); display: grid; place-items: center;
}
.contact-success__check svg { width: 36px; height: 36px; }
.contact-success h2 { margin-bottom: var(--sp-3); }
.contact-success p { max-width: 40ch; margin-inline: auto; }

@media (max-width: 920px) {
  .contact-grid { grid-template-columns: 1fr; gap: var(--sp-12); }
}
