/* ── Contact-page extras ── */
    .ct-social-block { margin-top: 36px; }
    .ct-social-block p {
      font-family: var(--font-display);
      font-size: 0.8rem; font-weight: 700;
      letter-spacing: 0.06em; text-transform: uppercase;
      color: #999; margin-bottom: 12px;
    }
    .ct-social-links { display: flex; gap: 10px; flex-wrap: wrap; }
    .ct-social-btn {
      padding: 10px 20px; border-radius: 100px;
      font-family: var(--font-display); font-size: 0.85rem; font-weight: 700;
      color: var(--black); transition: transform var(--transition);
    }
    .ct-social-btn:hover { transform: translateY(-2px); }

    /* Map band */
    .ct-map-band { background: var(--dark-bg); padding: 40px 0; }
    .ct-map-inner { width: 90%; max-width: var(--container-max); margin: 0 auto; }
    .ct-map-label { display: flex; align-items: center; gap: 20px; color: var(--white); }
    .ct-map-label .map-icon { font-size: 2rem; }
    .ct-map-label strong { font-family: var(--font-display); font-size: 1rem; font-weight: 700; display: block; }
    .ct-map-label p { font-size: 0.85rem; color: #888; margin: 4px 0 0; }

    /* Form card */
    .contact-form-card { background: var(--white); border-radius: var(--radius); padding: 48px 40px; box-shadow: 0 8px 50px rgba(0,0,0,0.08); }
    .contact-form-card h3 { font-family: var(--font-brand); font-size: 1.6rem; text-transform: uppercase; margin-bottom: 8px; }
    .contact-form-card .form-subtitle { font-size: 0.85rem; color: #888; margin-bottom: 28px; }

    .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

    /* Provider badge */
    .form-provider-badge {
      display: inline-flex; align-items: center; gap: 6px;
      font-family: var(--font-display); font-size: 0.72rem; font-weight: 700;
      letter-spacing: 0.06em; text-transform: uppercase;
      color: #999; margin-bottom: 20px;
    }
    .form-provider-badge i {
      width: 8px; height: 8px; border-radius: 50%; background: #4fccc4; display: block;
      animation: pulse-dot 2s ease-in-out infinite;
    }
    @keyframes pulse-dot {
      0%,100% { opacity: 1; } 50% { opacity: 0.3; }
    }

    /* States */
    .form-success-msg {
      display: none;
      background: var(--teal); color: var(--black);
      padding: 18px 22px; border-radius: var(--radius-sm);
      font-family: var(--font-display); font-weight: 600; font-size: 0.95rem;
      margin-top: 20px; line-height: 1.5;
    }
    .form-error-msg {
      display: none;
      background: #fff0f0; color: #c0392b;
      border-left: 3px solid var(--coral);
      padding: 14px 18px; border-radius: var(--radius-sm);
      font-size: 0.85rem; font-family: var(--font-display);
      margin-top: 16px;
    }

    .btn-submit-contact {
      width: 100%; justify-content: center;
      position: relative; overflow: hidden;
    }
    .btn-submit-contact.loading {
      pointer-events: none; opacity: 0.7;
    }
    .btn-submit-contact .btn-spinner {
      display: none; width: 16px; height: 16px;
      border: 2px solid rgba(0,0,0,0.2);
      border-top-color: var(--black);
      border-radius: 50%;
      animation: spin 0.7s linear infinite;
    }
    .btn-submit-contact.loading .btn-spinner { display: inline-block; }
    .btn-submit-contact.loading .btn-label { opacity: 0.5; }
    @keyframes spin { to { transform: rotate(360deg); } }

    @media (max-width: 600px) {
      .form-row { grid-template-columns: 1fr; }
      .contact-form-card { padding: 32px 20px; }
    }
