   /* Wrapper */
    .contact-wrapper {
      max-width: 1160px;
      margin: 0 auto;
      padding: 3rem 1.5rem 3.5rem;
      font-family: 'Segoe UI', Arial, sans-serif;
    }
 
    .sr-only {
      position: absolute; width: 1px; height: 1px;
      padding: 0; margin: -1px; overflow: hidden;
      clip: rect(0,0,0,0); white-space: nowrap; border: 0;
    }
 
    /* Section Labels */
    .section-title {
      font-size: 12.5px;
      font-weight: 600;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: #2563eb;
      margin-bottom: 6px;
    }
    .section-heading {
      font-size: 27px;
      font-weight: 600;
      color: #1a2236;
      margin-bottom: 6px;
      line-height: 1.25;
    }
    .section-sub {
      font-size: 14.5px;
      color: #6b7280;
      margin-bottom: 2rem;
      line-height: 1.55;
    }
 
    /* Two-column grid */
    .top-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.5rem;
      margin-bottom: 1.5rem;
    }
 
    /* Cards */
    .card {
      background: #ffffff;
      border: 1px solid #e5e7eb;
      border-radius: 10px;
      padding: 1.6rem 1.75rem 1.75rem;
      box-shadow: 0 1px 4px rgba(0,0,0,0.04);
    }
 
    .card-title {
      font-size: 15.5px;
      font-weight: 600;
      color: #1a2236;
      margin-bottom: 1.25rem;
    }
 
    /* Form inputs */
    .form-group { margin-bottom: 0.9rem; }
 
    .form-group input,
    .form-group textarea {
      width: 100%;
      padding: 10px 14px;
      font-size: 13.5px;
      border: 1px solid #d1d5db;
      border-radius: 6px;
      background: #fff;
      color: #1a2236;
      outline: none;
      font-family: inherit;
      transition: border-color 0.15s, box-shadow 0.15s;
      line-height: 1.5;
    }
    .form-group input::placeholder,
    .form-group textarea::placeholder { color: #9ca3af; font-size: 13.5px; }
    .form-group input:focus,
    .form-group textarea:focus {
      border-color: #2563eb;
      box-shadow: 0 0 0 3px rgba(37,99,235,0.10);
    }
    .form-group textarea { resize: vertical; min-height: 100px; }
 
    /* Submit button */
    .submit-btn {
      background: #2563eb;
      color: #fff;
      border: none;
      padding: 10px 30px;
      border-radius: 6px;
      font-size: 13.5px;
      font-weight: 600;
      cursor: pointer;
      margin-top: 0.3rem;
      transition: background 0.18s;
      letter-spacing: 0.01em;
    }
    .submit-btn:hover { background: #1d4ed8; }
    .submit-btn:active { background: #1e40af; }
 
    /* Contact info rows */
    .info-row {
      display: flex;
      align-items: flex-start;
      gap: 16px;
      margin-bottom: 1.15rem;
    }
    .info-icon {
      width: 46px; height: 46px;
      border-radius: 8px;
      background: #2563eb;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
    }
    .info-icon svg { width: 21px; height: 21px; fill: #fff; }
    .info-label {
      font-size: 15px; font-weight: 600;
      color: #1a2236; margin-bottom: 3px; line-height: 1.2;
    }
    .info-val { font-size: 13px; color: #6b7280; line-height: 1.6; }
 
    /* Social buttons */
    .social-row { display: flex; gap: 10px; margin-top: 1.25rem; }
    .social-btn {
      width: 38px; height: 38px;
      border-radius: 8px; background: #2563eb;
      display: flex; align-items: center; justify-content: center;
      cursor: pointer; border: none; transition: background 0.18s;
    }
    .social-btn:hover { background: #1d4ed8; }
    .social-btn svg { width: 16px; height: 16px; fill: #fff; }
 
    /* Map section */
    .map-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.5rem;
    }
    .map-card {
      background: #ffffff;
      border: 1px solid #e5e7eb;
      border-radius: 10px;
      overflow: hidden;
      box-shadow: 0 1px 4px rgba(0,0,0,0.04);
    }
    .map-label {
      padding: 10px 14px;
      font-size: 13px; font-weight: 600;
      color: #374151;
      border-bottom: 1px solid #e5e7eb;
      display: flex; align-items: center; gap: 7px;
      background: #fafafa;
    }
    .map-label span { color: #1a2236; }
    .map-frame { width: 100%; height: 210px; border: none; display: block; }
 
    /* Responsive */
    @media (max-width: 800px) {
      .top-grid, .map-grid { grid-template-columns: 1fr; }
      .contact-wrapper { padding: 2rem 1rem 2.5rem; }
    }