/* ── Main grid ── */
    .contact-grid {
      display: grid;
      grid-template-columns: 1fr 1.1fr;
      gap: 56px;
      align-items: start;
    }

    /* ── Left column — info ── */
    .contact-info-col {}
    .contact-intro {
      font-size: 15px;
      color: var(--text-muted);
      line-height: 1.8;
      margin-bottom: 36px;
    }

    .contact-details { display: flex; flex-direction: column; gap: 16px; margin-bottom: 36px; }
    .contact-detail-item {
      display: flex;
      align-items: flex-start;
      gap: 16px;
      background: var(--white);
      border-radius: var(--radius-lg);
      padding: 18px 20px;
      border: 1px solid rgba(26,92,58,0.08);
      transition: box-shadow 0.2s;
    }
    .contact-detail-item:hover { box-shadow: 0 6px 24px rgba(26,92,58,0.08); }
    .detail-icon {
      width: 44px; height: 44px;
      background: var(--green-pale);
      border-radius: var(--radius-md);
      display: flex; align-items: center; justify-content: center;
      font-size: 20px;
      flex-shrink: 0;
    }
    .detail-content {}
    .detail-label {
      font-size: 11px;
      font-weight: 500;
      color: var(--green-lime);
      letter-spacing: 0.08em;
      text-transform: uppercase;
      margin-bottom: 3px;
    }
    .detail-value {
      font-size: 14.5px;
      color: var(--text-main);
      font-weight: 500;
      line-height: 1.4;
    }
    .detail-value a { color: var(--text-main); transition: color 0.2s; }
    .detail-value a:hover { color: var(--green-dark); }
    .detail-note { font-size: 12px; color: var(--text-muted); margin-top: 2px; }

    /* Founder card */
    .founder-contact-card {
      background: var(--green-dark);
      border-radius: var(--radius-lg);
      padding: 24px 22px;
      display: flex;
      align-items: center;
      gap: 18px;
    }
    .founder-avatar {
      width: 54px; height: 54px;
      border-radius: 50%;
      background: var(--green-lime);
      color: var(--green-deep);
      font-family: var(--font-display);
      font-size: 20px;
      font-weight: 600;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
    }
    .founder-contact-info {}
    .founder-contact-name {
      font-family: var(--font-display);
      font-size: 19px;
      font-weight: 600;
      color: var(--white);
      margin-bottom: 2px;
    }
    .founder-contact-role { font-size: 12px; color: var(--green-lime); margin-bottom: 8px; }
    .founder-contact-links { display: flex; gap: 10px; flex-wrap: wrap; }
    .founder-link {
      font-size: 12.5px;
      color: rgba(255,255,255,0.75);
      background: rgba(255,255,255,0.10);
      border: 1px solid rgba(255,255,255,0.14);
      border-radius: 20px;
      padding: 4px 12px;
      transition: background 0.2s, color 0.2s;
    }
    .founder-link:hover { background: rgba(142,184,58,0.20); color: var(--white); }

    /* Social links */
    .social-row {
      display: flex;
      gap: 10px;
      margin-top: 24px;
      flex-wrap: wrap;
    }
    .social-btn {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 13px;
      font-weight: 500;
      color: var(--green-dark);
      background: var(--white);
      border: 1.5px solid rgba(26,92,58,0.15);
      border-radius: var(--radius-md);
      padding: 9px 16px;
      transition: border-color 0.2s, background 0.2s;
    }
    .social-btn:hover { border-color: var(--green-dark); background: var(--green-pale); }
    .social-icon { font-size: 16px; }

    /* ── Right column — form ── */
    .contact-form-col {}
    .form-card {
      background: var(--white);
      border-radius: var(--radius-lg);
      padding: 36px 32px;
      border: 1px solid rgba(26,92,58,0.08);
    }
    .form-title {
      font-family: var(--font-display);
      font-size: 26px;
      font-weight: 600;
      color: var(--green-dark);
      margin-bottom: 6px;
    }
    .form-subtitle {
      font-size: 14px;
      color: var(--text-muted);
      margin-bottom: 28px;
      line-height: 1.6;
    }

    .form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
    }
    .form-group { display: flex; flex-direction: column; gap: 7px; margin-bottom: 18px; }
    .form-group:last-of-type { margin-bottom: 24px; }
    .form-label {
      font-size: 13px;
      font-weight: 500;
      color: var(--text-main);
    }
    .form-label span { color: #E53935; margin-left: 2px; }
    .form-input,
    .form-select,
    .form-textarea {
      font-family: var(--font-body);
      font-size: 14px;
      color: var(--text-main);
      background: var(--off-white);
      border: 1.5px solid rgba(26,92,58,0.12);
      border-radius: var(--radius-md);
      padding: 11px 14px;
      outline: none;
      transition: border-color 0.2s, background 0.2s;
      width: 100%;
    }
    .form-input:focus,
    .form-select:focus,
    .form-textarea:focus {
      border-color: var(--green-dark);
      background: var(--white);
    }
    .form-input::placeholder,
    .form-textarea::placeholder { color: rgba(90,112,96,0.50); }
    .form-textarea { resize: vertical; min-height: 120px; line-height: 1.6; }
    .form-select { appearance: none; cursor: pointer; }

    .form-submit {
      width: 100%;
      background: var(--green-dark);
      color: var(--white);
      font-family: var(--font-body);
      font-size: 15px;
      font-weight: 500;
      padding: 14px 24px;
      border: none;
      border-radius: var(--radius-md);
      cursor: pointer;
      transition: background 0.2s, transform 0.15s;
      letter-spacing: 0.02em;
    }
    .form-submit:hover { background: var(--green-mid); transform: translateY(-1px); }
    .form-submit:active { transform: translateY(0); }
    .form-submit:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }

    .form-note {
      font-size: 12px;
      color: var(--text-muted);
      text-align: center;
      margin-top: 14px;
      line-height: 1.6;
    }

    /* Success state */
    .form-success {
      display: none;
      text-align: center;
      padding: 32px 20px;
    }
    .form-success.visible { display: block; }
    .success-icon { font-size: 52px; margin-bottom: 16px; }
    .success-title {
      font-family: var(--font-display);
      font-size: 26px;
      font-weight: 600;
      color: var(--green-dark);
      margin-bottom: 10px;
    }
    .success-msg { font-size: 14px; color: var(--text-muted); line-height: 1.7; }

    /* ── Map placeholder ── */
    .map-section { background: var(--off-white); padding: 0; }
    .map-placeholder {
      background: var(--green-pale);
      width: 100%;
      height: 260px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 10px;
      border-top: 1px solid rgba(26,92,58,0.10);
      border-bottom: 1px solid rgba(26,92,58,0.10);
    }
    .map-placeholder .map-icon { font-size: 40px; }
    .map-placeholder p {
      font-size: 14px;
      color: var(--green-dark);
      font-weight: 500;
    }
    .map-placeholder span { font-size: 13px; color: var(--text-muted); }

    /* ── FAQ ── */
    .faq-section { background: var(--white); }
    .faq-list { margin-top: 36px; display: flex; flex-direction: column; gap: 12px; max-width: 720px; }
    .faq-item {
      background: var(--off-white);
      border-radius: var(--radius-lg);
      border: 1px solid rgba(26,92,58,0.07);
      overflow: hidden;
    }
    .faq-q {
      width: 100%;
      text-align: left;
      background: none;
      border: none;
      padding: 17px 22px;
      font-family: var(--font-body);
      font-size: 14.5px;
      font-weight: 500;
      color: var(--green-dark);
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      transition: background 0.2s;
    }
    .faq-q:hover { background: var(--green-pale); }
    .faq-chevron {
      width: 22px; height: 22px;
      border-radius: 50%;
      background: var(--white);
      border: 1px solid rgba(26,92,58,0.12);
      display: flex; align-items: center; justify-content: center;
      font-size: 11px;
      color: var(--green-dark);
      flex-shrink: 0;
      transition: transform 0.25s;
    }
    .faq-item.open .faq-chevron { transform: rotate(180deg); }
    .faq-a {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease, padding 0.2s;
      font-size: 14px;
      color: var(--text-muted);
      line-height: 1.75;
      padding: 0 22px;
    }
    .faq-item.open .faq-a { max-height: 200px; padding: 0 22px 18px; }

    /* ── Responsive ── */
    @media (max-width: 860px) {
      .contact-grid { grid-template-columns: 1fr; gap: 40px; }
      .form-row { grid-template-columns: 1fr; gap: 0; }
      .form-card { padding: 28px 22px; }
    }
    @media (max-width: 480px) {
      .social-row { gap: 8px; }
      .social-btn { font-size: 12px; padding: 8px 12px; }
    }
