    /* Formulario */
    .form-wrap {
      background: var(--tarjeta);
      border: 1px solid var(--borde);
      border-radius: 28px;
      padding: 40px;
      box-shadow: var(--sombra);
      max-width: 820px;
      margin: auto;
    }
    .form-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px 20px;
    }
    .form-grid .full { grid-column: 1 / -1; }
    .form-group label {
      display: block;
      font-weight: 600;
      margin-bottom: 6px;
      font-size: .93rem;
    }
    .form-group label span { color: #e11d48; }
    .form-group input,
    .form-group select {
      width: 100%;
      padding: 12px 14px;
      border-radius: 12px;
      border: 1px solid var(--borde);
      background: var(--fondo);
      color: var(--texto);
      font: inherit;
      transition: border .2s;
    }
    .form-group input:focus,
    .form-group select:focus {
      outline: none;
      border-color: var(--cian);
      box-shadow: 0 0 0 3px rgba(8,198,234,.25);
    }
    .tel-row { display: grid; grid-template-columns: 110px 1fr; gap: 10px; }
    .invitar-title {
      font-weight: 700;
      color: var(--morado);
      margin-top: 10px;
    }
    .btn-submit {
      width: 100%;
      margin-top: 10px;
      padding: 16px;
      border: none;
      border-radius: 14px;
      background: linear-gradient(90deg, var(--azul), var(--morado), var(--cian));
      color: #fff;
      font-weight: 800;
      font-size: 1.05rem;
      cursor: pointer;
    }
    .msg-ok {
      display: none;
      margin-top: 16px;
      padding: 14px;
      border-radius: 12px;
      background: #d1fae5;
      color: #065f46;
      text-align: center;
      font-weight: 600;
    }

