.contact-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 56px; align-items: start; }
  @media (max-width: 920px){ .contact-grid { grid-template-columns: 1fr; gap: 40px; } }
  .info-card { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: start; padding: 24px 0; border-bottom: 1px solid var(--line); }
  .info-card:last-child { border-bottom: none; }
  .info-ic { width: 52px; height: 52px; border-radius: var(--r-md); background: var(--sage-tint); color: var(--accent); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .info-ic i { width: 24px; height: 24px; }
  .info-card h3 { font-size: 13px; letter-spacing: 1px; text-transform: uppercase; color: var(--fg-faint); font-weight: 700; margin: 0 0 6px; }
  .info-card p, .info-card a { font-size: 18px; color: var(--forest); font-weight: 600; margin: 0; line-height: 1.4; }
  .info-card a:hover { color: var(--accent); }
  .form-card { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 44px; box-shadow: var(--shadow-md); }
  .field { margin-bottom: 18px; }
  .field label { display: block; font-size: 14px; font-weight: 600; color: var(--forest); margin-bottom: 8px; }
  .field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  @media (max-width: 520px){ .field-row { grid-template-columns: 1fr; } .form-card { padding: 28px; } }
  .map-band { position: relative; height: 440px; overflow: hidden; }
  .map-pin { position: absolute; left: 50%; top: 46%; transform: translate(-50%,-100%); z-index: 3; display: flex; flex-direction: column; align-items: center; }
  .map-pin .pin-dot { width: 58px; height: 58px; border-radius: 50% 50% 50% 0; background: var(--accent); transform: rotate(-45deg); display: flex; align-items: center; justify-content: center; box-shadow: var(--shadow-md); }
  .map-pin .pin-dot i { transform: rotate(45deg); color: #fff; width: 26px; height: 26px; }
  .map-card { position: absolute; left: 50%; bottom: 28px; transform: translateX(-50%); z-index: 4; background: #fff; border-radius: var(--r-md); box-shadow: var(--shadow-lg); padding: 20px 26px; display: flex; align-items: center; gap: 18px; min-width: 340px; }
  .map-grid-bg { position: absolute; inset: 0; background:
    linear-gradient(0deg, rgba(43,71,57,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(43,71,57,.04) 1px, transparent 1px),
    linear-gradient(0deg, rgba(43,71,57,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(43,71,57,.07) 1px, transparent 1px);
    background-size: 28px 28px, 28px 28px, 140px 140px, 140px 140px; background-color: var(--sage-tint); }
  .map-river { position: absolute; left: -5%; top: 30%; width: 110%; height: 120px; background: linear-gradient(90deg,#9cc0d8,#bcd6e6); opacity: .5; transform: rotate(-8deg); border-radius: 60px; }
  .map-frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: saturate(.85); }
