/* ── Contact page (extracted from inline <style>; consolidate shared rules into main.css) ── */
    .grecaptcha-badge { visibility: hidden; }

    /* ── Contact Section ── */
    .contact-section { background: var(--surface); }
    .contact-grid {
      display: grid;
      grid-template-columns: 1fr 1.25fr;
      gap: clamp(3rem, 6vw, 5rem);
    }
    .contact-info .label { margin-bottom: 0.75rem; }
    .contact-info h2 {
      margin-bottom: 1.25rem;
    }
    .contact-info > p {
      color: var(--text-muted);
      font-size: 1rem;
      line-height: 1.75;
      margin-bottom: 2.5rem;
    }
    .contact-detail {
      display: flex;
      align-items: flex-start;
      gap: 1rem;
      margin-bottom: 1.5rem;
    }
    .contact-detail-icon {
      flex-shrink: 0;
      width: 44px;
      height: 44px;
      background: var(--rose-tint);
      border-radius: 2px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--rose);
      font-size: 0.75rem;
      font-weight: 700;
      letter-spacing: 0.04em;
    }
    .contact-detail-text strong {
      display: block;
      font-size: 0.875rem;
      font-weight: 600;
      color: var(--text);
      margin-bottom: 0.125rem;
    }
    .contact-detail-text span,
    .contact-detail-text a {
      font-size: 0.875rem;
      color: var(--text-muted);
      line-height: 1.5;
    }
    .contact-detail-text a:hover { color: var(--rose); }

    /* ── Contact Form ── */
    .contact-form {
      background: var(--body-bg);
      padding: clamp(2rem, 4vw, 3rem);
      border-radius: 3px;
      border: 1px solid var(--border);
    }
    .form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1rem;
    }
    .form-group textarea {
      min-height: 140px;
    }

    /* ── Responsive (page-specific) ── */
    @media (max-width: 768px) {
      .contact-grid { grid-template-columns: 1fr; }
      .form-row { grid-template-columns: 1fr; }
    }

    @media (max-width: 480px) {
      .footer-bottom { flex-direction: column; align-items: flex-start; }
    }
